@charset "utf-8";

/* =====================================

----------------------------------------
	INDEX
----------------------------------------
	1.base

	2.container

	3.header

	4.gNav

	5.contents
		5-1.main
		5-2.sub

	6.footer
	
	7.ページ固有
	
	8.googlemap
	
======================================== */
/* 1.base
======================================== */
html {}

#company_main table br.smp {
  display: none !important;
}

body {
  background-color: #fff;
  color: #333333;
  font-family: "メイリオ", "Meiryo", sans-serif;
  font-size: 16px;
  line-height: 28px;
  width: 100%;
  min-width: 1200px;
  overflow: hidden;
  position: relative;
  -webkit-text-size-adjust: 100%;
}

img.pc {
  display: block;
}

img.smp {
  display: none !important;
}

.h_menu {
  display: none;
}

.fl_l {
  float: left;
}

.fl_r {
  float: right;
}

/*typography*/
.copy {
  font-size: 40px;
  color: #000;
}

h2.ttl {
  font-size: 20px;
  font-weight: bold;
  color: #000;
}

p {
  font-size: 16px;
  line-height: 28px;
}

.small {
  font-size: 13px;
  line-height: 22px;
  color: #333;
}

.iso {
  margin: 30px 0 10px;
}

.privacymark {
  margin: 10px 0 30px;
}

/*image*/
img {
  outline: none;
  border-style: none;
}

/*link*/
a {
  color: inherit;
  -webkit-transition: 0.8s ease;
  transition: 0.8s ease;
}

a:link,
a:visited,
a:active {
  text-decoration: none;
  color: inherit;
}

a:hover img,
.boxhover:hover {
  filter: alpha(opacity=80);
  opacity: 0.8;
}

header a:hover img,
.side_top a:hover .side_top_mail {
  filter: alpha(opacity=100);
  opacity: 1;
}

/* ======================================== */
/* 2.container
======================================== */

header,
footer {
  width: 100%;
}

header .inner,
footer .inner {
  width: 1000px;
  margin: 0 auto;
  position: relative;
}

aside#sub {
  width: 240px;
  float: left;
  padding-bottom: 50px;
}

main {
  width: 720px;
  float: right;
  padding-bottom: 43px;
}

.layer1,
.layer2,
.layer3,
.layer4,
.layer5 {
  width: 720px;
}

footer {
  clear: both;
  margin: 0 auto;
}

/* ======================================== */
/* 3.header
======================================== */

header {
  background-image: url("../images/header_bg.png");
  background-repeat: repeat-x;
  height: 209px;
  overflow: hidden;
}

header .header {
  height: 154px;
  padding: 30px 0 0;
}

header h1 {
  font-family: "Meiryo UI", sans-serif;
  font-size: 20px;
  font-weight: bold;
  color: #007038;
  padding-left: 16px;
  margin-top: -3px;
  width: 440px;
  white-space: nowrap;
}

header ul.header_top_nav {
  display: flex;
  margin-top: -3px;
}

header ul.header_top_nav li {
  display: block;
}

header ul.header_top_nav li a {
  font-size: 13px;
  line-height: 26px;
  color: #000;
  background: url(../images/header_list_icon.png) no-repeat left center;
  text-decoration: none;
  padding-left: 10px;
  margin-left: 7px;
  margin-right: 6px;
}

header #gNav li {
  float: left;
}

/* ======================================== */
/* 5.contents
======================================== */

.shadow {
  content: "";
  background: url(../images/contents_bg.png) repeat-x;
  height: 26px;
  margin-bottom: -4px;
}

#contents {
  width: 1000px;
  margin: 30px auto 35px;
}

.main {
  float: right;
  width: 720px;
  margin-right: 10px;
}

.sub {
  float: left;
  width: 240px;
  margin-left: 10px;
  margin-right: 40px;
}

/*5-1.main*/

/*5-2.sub*/
.side_top {
  border: solid 5px #007038;
  border-radius: 4px;
  background-color: #fff;
  width: 240px;
  text-align: center;
  padding-bottom: 20px;
}

.side_top>img:first-child {
  margin: -33px 0 0 -5px;
}

.side_top .side_top_mail {
  margin-top: 20px;
}

.side_top p {
  text-align: left;
  font-size: 13px;
  line-height: 16px;
  color: #000;
  padding: 0 10px;
}

.side_top>p:first-of-type {
  text-align: right;
  padding-left: 0;
}

.side_top ul li {
  font-size: 13px;
  height: 18px;
  text-align: left;
  position: relative;
  padding-left: 22px;
}

.side_top ul li:before {
  content: "";
  display: block;
  position: absolute;
  top: 10px;
  left: 10px;
  background-color: #d4b572;
  width: 7px;
  height: 7px;
}

.side_top ul li.add img {
  vertical-align: middle;
}

.side_btns {
  margin-top: 15px;
}

.side_btns li {
  margin-bottom: 11px;
}

.madoguchi {
  margin-top: 30px;
}

/* ======================================== */
/* 6.footer
======================================== */

footer {
  margin-top: 43px;
  background-color: #007038;
}

footer a {
  color: #fff;
}

footer a:hover {
  color: #e7d6b2;
}

.page_top {
  position: absolute;
  right: 0;
  top: -43px;
}

.footer_top {
  color: #fff;
  padding: 28px 0 65px;
  position: relative;
  height: 280px;
}

.footer_top p {
  line-height: 23px;
  margin-top: 20px;
  padding-left: 5px;
}

.footer_top nav {
  background: url(../images/footer_line.png) no-repeat left top;
  padding-left: 18px;
  height: 188px;
}

.footer_top nav:first-of-type {
  width: 245px;
}

.footer_top nav:last-of-type {
  width: 158px;
}

.footer_top nav ul {}

.footer_top nav ul li {
  padding-left: 7px;
  line-height: 18px;
  margin-bottom: 16px;
}

.footer_top nav ul li:before {
  content: "";
  background: url(../images/footer_list_icon.png) no-repeat left center;
  width: 6px;
  height: 4px;
  padding-left: 11px;
}

.footer_btm_bg {
  background-color: #d4b572;
  clear: both;
}

.footer_btm {
  text-align: center;
  line-height: 40px;
  color: #000;
}

/* ======================================== */
/* 7.ページ固有
======================================== */

/*____TOP____*/
.keyvisual {
  margin-top: 0px;
}

.point {
  text-align: center;
}

#top_main .layer1 {
  background: url(../images/top_ly01_bg.jpg) no-repeat top;
  height: 400px;
  position: relative;
}

#top_main .layer1 div.small {
  width: 286px;
  position: absolute;
  top: 207px;
}

#top_main .layer1 div.left {
  left: 45px;
}

#top_main .layer1 div.right {
  right: 45px;
}

#top_main .layer2 {
  margin-bottom: 30px;
}

/*tab*/
#tab_box ul {
  width: 720px;
  padding-left: 25px;
}

#tab_box ul li {
  margin-right: 6px;
  float: left;
  display: inline;
  font-size: 0;
}

#tab_box>div {
  display: none;
  width: 720px;
  padding: 20px 0 10px 15px;
  border: 5px solid #007038;
  background-color: #cce2d7;
  text-align: center;
  clear: both;
}

#top_main .layer3,
#top_main .layer4,
#top_main .layer5 {
  height: 450px;
  position: relative;
  margin-bottom: 40px;
}

#top_main .layer3 {
  background: url(../images/top_ly03_bg.jpg) no-repeat top;
}

#top_main .layer4 {
  background: url(../images/top_ly04_bg.jpg) no-repeat top;
}

#top_main .layer5 {
  background: url(../images/top_ly05_bg.jpg) no-repeat top;
}

#top_main .layer3 div.small,
#top_main .layer4 div.small,
#top_main .layer5 div.small {
  width: 495px;
  position: absolute;
  top: 100px;
  left: 200px;
  color: #fff;
}

#top_main .top_mail_banner_01 {
  margin-bottom: 30px;
  text-align: center;
}

#top_main .top_mail_banner_02 {
  margin-top: 47px;
  margin-bottom: 36px;
  text-align: center;
}

/*____下層ページ共通____*/

main:not(#top_main) .keyvisual {
  width: 728px;
  margin-left: -4px;
}

main h1.page_ttl {
  font-size: 30px;
  font-weight: bold;
  color: #000;
  width: 720px;
  height: 110px;
  border-bottom: 1px solid #007038;
  padding-top: 50px;
  text-align: center;
}

main .page_ttl_h1 {
  font-size: 30px;
  font-weight: bold;
  color: #000;
  width: 720px;
  height: 110px;
  border-bottom: 1px solid #007038;
  padding-top: 50px;
  text-align: center;
}

main h1.page_ttl+p {
  font-size: 15px;
  color: #333;
  line-height: 28px;
  padding: 15px 50px 50px;
}

main .page_ttl_h1+p {
  font-size: 15px;
  color: #333;
  line-height: 28px;
  padding: 15px 50px 50px;
}

main .h1 {
  font-size: 30px;
  font-weight: bold;
  color: #000;
  width: 720px;
  height: 110px;
  border-bottom: 1px solid #007038;
  padding-top: 50px;
  text-align: center;
}

main .h1+p {
  font-size: 15px;
  color: #333;
  line-height: 28px;
  padding: 15px 50px 50px;
}

main .section_ttl {
  font-size: 24px;
  font-weight: bold;
  color: #000;
  background: url(../images/ttl_bg_01.png) no-repeat;
  width: 720px;
  line-height: 65px;
  padding-left: 30px;
  margin-bottom: 15px;
}

main .contents_page_top {
  text-align: right;
  margin-bottom: 3px;
}

/*____CASE____*/

#case_main ul {
  overflow: hidden;
  margin-bottom: 58px;
}

#case_main ul li {
  float: left;
  margin-right: 15px;
}

#case_main ul li:last-of-type {
  margin: 0;
}

#case_main section#building {
  margin-bottom: 50px;
}

#case_main section#mansion {
  margin-bottom: 65px;
}

#case_main section#apartment {
  margin-bottom: 34px;
}

#case_main section:last-of-type {
  margin-bottom: 60px;
  text-align: center;
}

/*____PROFESSIONAL____*/

#professional_main h2 {
  font-size: 30px;
  line-height: 38px;
  font-weight: bold;
  color: #000;
  width: 720px;
  height: 130px;
  padding-top: 30px;
  text-align: center;
}

#professional_main .section_ttl span {
  font-size: 15px;
  font-weight: bold;
  color: #007038;
}

#professional_main .section_ttl span span {
  font-size: 20px;
  padding-right: 12px;
}

#professional_main section p {
  font-size: 15px;
  line-height: 28px;
  color: #333;
  padding-top: 15px;
  padding-left: 15px;
}

#professional_main section .layer1 {
  margin-bottom: 50px;
}

#professional_main section .layer2 {
  margin-bottom: 32px;
}

#professional_main section .layer3 {
  margin-bottom: 44px;
}

#professional_main section .layer4 {
  margin-bottom: 43px;
}

#professional_main section .layer5 {
  margin-bottom: 22px;
}

#professional_main section .layer6 {
  margin-bottom: 50px;
}

#professional_main section:last-of-type {
  margin-bottom: 60px;
  text-align: center;
}

/*____TIMING____*/

#timing_main .page_ttl+p {
  padding: 25px 35px 62px;
}

#timing_main .section_ttl {
  padding-left: 30px;
  margin-bottom: 22px;
}

#timing_main section .layer2 {
  margin-bottom: 42px;
}

#timing_main section .layer2 img {
  margin-bottom: 32px;
}

#timing_main section .layer2 h3 {
  font-size: 23px;
  line-height: 22.5px;
  color: #007a49;
  font-weight: bold;
  text-align: center;
}

#timing_main section .layer2 h3+p {
  padding: 25px 50px 0;
}

#timing_main section .layer3 {
  margin-bottom: 30px;
  overflow: hidden;
}

#timing_main section .layer3 img {
  margin-top: 3px;
  margin-bottom: 29px;
}

#timing_main section .layer3>div:first-of-type {
  width: 412px;
}

#timing_main section .layer3>div:last-of-type {
  background: url(../images/timing_sec02_img02.png) no-repeat;
  width: 293px;
  height: 281px;
  content: "";
}

#timing_main section .layer3>div:last-of-type h3 {
  color: #007038;
  font-size: 20px;
  font-weight: bold;
  line-height: 28px;
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  height: 120px;
  width: 293px;
}

#timing_main section .layer3>div:last-of-type .table_bg {
  width: 293px;
  height: 152px;
  -js-display: flex;
  display: flex;
  align-items: center;
  justify-content: center;
}

#timing_main section .layer3>div:last-of-type table {
  width: 212px;
  height: 110px;
  font-size: 15px;
  color: #000;
}

#timing_main section .layer3>div:last-of-type table th {
  position: relative;
  padding-left: 12px;
}

#timing_main section .layer3>div:last-of-type table th:before {
  content: "";
  background-color: #007038;
  width: 6px;
  height: 6px;
  position: absolute;
  top: 10px;
  left: 0;
}

#timing_main section:last-of-type {
  margin-bottom: 60px;
  text-align: center;
}

/*____TYPES____*/

#types_main .page_ttl+p {
  padding: 25px 35px 59px;
}

#types_main .section_ttl {
  padding-left: 30px;
  margin-bottom: 35px;
}

#types_main section .types_box {
  margin-bottom: 6px;
  width: 728px;
  height: 179px;
  font-size: 13px;
  line-height: 22px;
  color: #000;
  overflow: hidden;
}

#types_main section .types_box h3 {
  font-size: 20px;
  font-weight: bold;
  width: 205px;
  height: 179px;
  display: block;
  float: left;
  text-align: center;
  padding-top: 75px;
}

#types_main section .types_box .middle {
  width: 122px;
  height: 179px;
  text-align: center;
  float: left;
  padding-top: 65px;
}

#types_main section .types_box .right {
  width: 400px;
  height: 179px;
  padding: 20px 25px;
  float: left;
}

#types_main section .types_box .right span {
  color: #9b7636;
}

#types_main section .types_box:first-of-type {
  margin-top: 30px;
  background: url(../images/types_bg_001.png) no-repeat;
}

#types_main section .types_box:nth-of-type(2) {
  background: url(../images/types_bg_002.png) no-repeat;
}

#types_main section .types_box:nth-of-type(3) {
  background: url(../images/types_bg_003.png) no-repeat;
}

#types_main section .types_box:nth-of-type(4) {
  background: url(../images/types_bg_004.png) no-repeat;
}

#types_main section .types_box:nth-of-type(5) {
  background: url(../images/types_bg_005.png) no-repeat;
}

#types_main section:last-of-type {
  margin-top: 34px;
  margin-bottom: 60px;
  text-align: center;
}

/*____OWNER____*/
#owner_main .page_ttl+p {
  padding: 25px 25px 55px;
}

#owner_main .section_ttl {
  padding-left: 30px;
  margin-bottom: 20px;
}

#owner_main .layer2 div.fl_l,
#owner_main .layer2 div.fl_r {
  width: 350px;
}

#owner_main .layer2 h3 {
  font-size: 23px;
  font-weight: bold;
  color: #010000;
  background: url(../images/owner_sec01_ttl_bg.png) no-repeat center 40px;
  line-height: 45px;
  padding-top: 15px;
  text-align: center;
}

#owner_main .layer2 p {
  font-size: 15px;
  line-height: 28px;
  color: #333;
  padding: 28px 5px;
}

#owner_main .layer2 div:last-of-type {
  clear: both;
  text-align: center;
  margin-bottom: 65px;
}

#owner_main .layer3 p {
  width: 345px;
  padding: 20px 8px;
}

#owner_main section:last-of-type {
  clear: both;
  text-align: center;
  margin-bottom: 40px;
  padding-top: 45px;
}

/*____PRIVACY____*/
#privacy_main {
  padding-bottom: 100px;
}

#privacy_main h1 {
  padding-left: 32px;
}

#privacy_main h2 {
  font-size: 22px;
  font-weight: bold;
  color: #000;
  text-align: center;
  padding-top: 30px;
}

#privacy_main p.right {
  text-align: right;
}

#privacy_main h3 {
  font-size: 15px;
  font-weight: bold;
  color: #000;
  padding-left: 16px;
  margin-left: 5px;
  position: relative;
}

#privacy_main p {
  font-size: 13px;
  line-height: 22px;
  color: #000;
  padding: 15px 50px 30px 30px;
}


#privacy_main ul.list li {
  padding: 0px;
  list-style: disc;
  margin-left: 70px
}

#privacy_main ul.list2 li {
  padding: 0px;
  list-style: disc;
  list-style-position: outside;
  margin-left: 20px;
}

#privacy_main p.koumoku {
  padding: 0px 0px 5px 0px;
  font-weight: bold;
}

#privacy_main hr {
  margin: 30px auto;
}

#privacy_main ul li {
  font-size: 13px;
  line-height: 22px;
  color: #000;
  padding: 15px 40px 10px 5px;
  list-style: decimal;
  list-style-position: outside;
  margin-left: 45px;
}

#privacy_main ul li.nostyle {
  list-style: none;
  padding: 5px 0px 0px 0px;
  margin-left: 0px;
}

#privacy_main li.nostyle ul.list2 li {
  margin-left: 34px;
}

#privacy_main li.nostyle p {
  padding: 5px 0px;
}

#types_main section:last-of-type {
  margin-top: 40px;
  margin-bottom: 60px;
  text-align: center;
  clear: both;
}

/*____COMPANY____*/

#company_main .keyvisual {
  margin-bottom: 46px;
}

#company_main .section_ttl {
  padding-left: 32px;
}

#company_main .layer1 p {
  font-size: 16px;
  line-height: 28px;
  color: #000;
  padding: 40px 0 35px 160px;
}

#company_main .layer1 .signature {
  font-size: 14px;
  line-height: 29px;
  color: #000;
  padding: 0 170px 75px 340px;
  position: relative;
}

#company_main .layer1 .signature img {
  position: absolute;
  top: 30px;
  left: 430px;
}

#company_main table,
#contact_main table {
  font-size: 16px;
  line-height: 28px;
  color: #000;
  margin-top: 25px;
  width: 720px;
}

#company_main .layer3 table {
  margin-bottom: 60px;
}

#company_main table tr:nth-of-type(odd) th {
  background: url(../images/company_table_bg_dark.png) no-repeat left top;
  background-size: 720px 72px;
  width: 165px;
  height: 72px;
}

#company_main table tr:nth-of-type(odd) td {
  background: url(../images/company_table_bg_dark.png) no-repeat right top;
  background-size: 720px 72px;
  width: 555px;
  height: 72px;
}

#company_main table tr:nth-of-type(even) th {
  background: url(../images/company_table_bg_light.png) no-repeat left top;
  background-size: 720px;
  width: 165px;
  height: 70px;
}

#company_main table tr:nth-of-type(even) td {
  background: url(../images/company_table_bg_light.png) no-repeat right top;
  background-size: 720px;
  width: 555px;
  height: 70px;
}

#company_main table th {
  width: 165px;
  padding: 17px 17px 17px 40px;
  vertical-align: middle;
}

#company_main table td {
  padding: 17px 17px 17px 40px;
  width: 555px;
}

#company_main .layer2 table tr:nth-of-type(6) th {
  background: url(../images/company_table_bg_light_2.png) no-repeat top left;
  background-size: 720px 100px;
  height: 100px;
  width: 165px;
}

#company_main .layer2 table tr:nth-of-type(6) td {
  background: url(../images/company_table_bg_light_2.png) no-repeat top right;
  background-size: 720px 100px;
  height: 100px;
  width: 555px;
}

#company_main .layer2 table tr:nth-of-type(10) th {
  background: url(../images/company_table_bg_light_3.png) no-repeat top left;
  background-size: 720px 146px;
  height: 129px;
  width: 165px;
}

#company_main .layer2 table tr:nth-of-type(10) td {
  background: url(../images/company_table_bg_light_3.png) no-repeat top right;
  background-size: 720px 146px;
  height: 129px;
  width: 555px;
}

#company_main .layer2 table tr:nth-of-type(7) th,
#company_main .layer2 table tr:nth-of-type(11) th {
  background: url(../images/company_table_bg_dark_3.png) no-repeat top left;
  background-size: 720px 150px;
  height: 150px;
  width: 165px;
}

#company_main .layer2 table tr:nth-of-type(7) td,
#company_main .layer2 table tr:nth-of-type(11) td {
  background: url(../images/company_table_bg_dark_3.png) no-repeat top right;
  background-size: 720px 150px;
  height: 150px;
  width: 555px;
}

#company_main .layer2 table tr:nth-of-type(12) th {
  background: url(../images/company_table_bg_light_4.png) no-repeat top left;
  background-size: 720px 211px;
  height: 211px;
  width: 165px;
}

#company_main .layer2 table tr:nth-of-type(12) td {
  background: url(../images/company_table_bg_light_4.png) no-repeat top right;
  background-size: 720px 346px;
  height: 346px;
  width: 565px;
  line-height: 1.5;
  letter-spacing: -0.5px;
}

#company_main .layer3 table tr:nth-of-type(1) th,
#company_main .layer3 table tr:nth-of-type(3) th {
  background: url(../images/company_table_bg_dark_2.png) no-repeat top left;
  background-size: 720px 102px;
  height: 102px;
  width: 165px;
}

#company_main .layer3 table tr:nth-of-type(1) td,
#company_main .layer3 table tr:nth-of-type(3) td {
  background: url(../images/company_table_bg_dark_2.png) no-repeat top right;
  background-size: 720px 102px;
  height: 102px;
  width: 555px;
}

#company_main .layer3 table tr:nth-of-type(6) th {
  background: url(../images/company_table_bg_light_2.png) no-repeat top left;
  background-size: 720px 100px;
  height: 100px;
  width: 165px;
}

#company_main .layer3 table tr:nth-of-type(6) td {
  background: url(../images/company_table_bg_light_2.png) no-repeat top right;
  background-size: 720px 100px;
  height: 100px;
  width: 55px;
}

#company_main .map {
  margin: 50px 0 40px 0;
  border: 1px solid #a8a8a8;
  padding: 5px;
  width: 720px;
  height: 345px;
}

/*____CONTACT____*/
#contact_main p {
  font-size: 15px;
  line-height: 28px;
  color: #000;
  width: 470px;
  margin: 25px auto 0;
}

#contact_main table th {
  width: 300px;
  padding: 17px 0px 17px 17px;
  vertical-align: middle;
}

#contact_main table td {
  padding: 17px;
}

#contact_main table.mailform tr th span {
  color: #3922a0;
  display: block;
  font-size: 12px;
}

#contact_main td strong {
  color: #757575;
  font-size: 12px;
  font-weight: bold;
}

#contact_main input {
  border: 1px solid #555555;
  margin-bottom: 2px;
  margin-right: 5px;
  margin-top: 2px;
  padding: 7px;
  color: #555555;
}

#contact_main input.font {
  color: #000;
}

#contact_main textarea.mfp {
  border: 1px solid #555;
}

#contact_main div#mfp_buttons input {
  border: none;
}

#contact_main form#mailformpro th.mfp span.must,
#contact_main form#mailformpro th.mfp span.arbitrary {
  color: #fff;
}

#contact_main form#mailformpro span {
  font-size: 12px;
  font-weight: bold;
  line-height: 1.5;
}

#contact_main table tr:nth-of-type(odd) {
  background: url(../images/contact_table_bg_dark.png) no-repeat;
  background-color: #f1f1f1;
  background-position: bottom left;
  width: 720px;
  height: 72px;
}

#contact_main table tr:nth-of-type(even) {
  background: url(../images/contact_table_bg_light.png) no-repeat;
  background-color: #fbfbfb;
  background-position: bottom left;
  width: 720px;
  height: 70px;
}

#contact_main h3.h-pagetype {
  font-weight: 700;
  font-size: 21px;
  padding-left: 15px;
  color: #000;
  border-left: 7px solid #14ad5e;
  margin-top: 30px;
  border-bottom: 1px solid #ccc;
  padding-bottom: 5px;
  padding-top: 5px;
}

#contact_main p.text {
  width: 670px;
}

#contact_main .scroll {
  padding: 25px 5px;
  border: 1px solid #ddd;
  background-color: #fff;
  margin-bottom: 15px;
  margin-top: 15px;
  overflow-y: scroll;
  height: 150px;
}

#contact_main .scroll p {
  font-size: 14px;
  line-height: 20px;
  color: #000;
  width: 620px;
  margin: 0px 52px 0;
}

#contact_main .scroll p.intop {
  margin-left: 20px;
}

#contact_main .scroll h4 {
  font-weight: bold;
  margin-left: 18px;
  margin-top: 15px
}

.arbitrary {
  background-color: #1783d4;
  background-image: url("../mailform/mfp.statics/_images/mfp_header.png");
  background-size: 100% 100%;
  border: 2px solid #0a70c4;
  border-radius: 4px;
  box-shadow: 0 0 5px #1783d4;
  color: #fff;
  float: left;
  margin: 0 5px;
  padding: 0px 8px;
  text-shadow: 0 1px 2px #1783d4;
}

form#mailformpro label.mfp_not_checked {
  background-color: #fff;
  padding: 10px;
  width: 720px;
}

#contact_main p.check {
  width: 720px;
}

#contact_main .reset {
  background-color: #fff;
  width: 125px;
  height: 36px;
  margin: 12px 0 0 10px;
  overflow: hidden;
  background-image: url("../mailform/mfp.statics/_images/mfp_reset.gif");
  border: none;
  border-style: none;
  cursor: pointer;
  text-indent: -5000px;
}

#contact_main .submit {
  background-color: #fff;
  background-image: url("../mailform/mfp.statics/_images/mfp_goconfirm.gif");
  border: medium none;
  cursor: pointer;
  height: 60px;
  overflow: hidden;
  width: 200px;
  text-indent: -5000px;
  background-position: left top;
  margin: 0 auto;
}

#contact_main .reset:hover {
  background-image: url("../mailform/mfp.statics/_images/mfp_reset.gif");
  background-position: center bottom;
}

#contact_main .submit:hover {
  background-image: url("../mailform/mfp.statics/_images/mfp_goconfirm.gif");
  background-position: left bottom;
}

.contact.page div#mfp_overlay div#mfp_overlay_inner h4 {
  margin-bottom: 15px;
}

#mfp_button_send {
  border: 0 none;
  height: 35px;
  text-indent: -5000px;
  width: 160px;
  background: url("../mailform/mfp.statics/_images/mfp_send.gif");
}

#mfp_button_cancel {
  border: 0 none;
  height: 35px;
  text-indent: -5000px;
  width: 160px;
  background: url("../mailform/mfp.statics/_images/mfp_cancel.gif");
}

/*____THANKS____*/

#thanks_main .mail-send-content {
  width: 700px;
  margin-top: 160px;
  margin-left: 20px;
}

#thanks_main .mail-send-txt {
  margin: 0 0 28px;
  padding: 76px 0;
  border-top: 1px dotted #ccc;
  border-bottom: 1px dotted #ccc;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  color: #383838;
}

#thanks_main .mail-send-notice {
  margin: 0 0 0 28px;
  font-size: 19px;
  line-height: 1.5;
  color: #383838;
}

/*____NEWS____*/
#news_main {
  width: 720px;
  float: right;
  padding-bottom: 43px;
}

#news_main .keyvisual {
  margin-bottom: 30px;
}

#news_main .post {
  padding-bottom: 23px;
  margin-bottom: 30px;
  background: url(../images/news_line.png) no-repeat center bottom;
  background-size: 723px;
}

#news_main .post:last-of-type {
  background: none;
}

#news_main .category_ttl {
  margin-bottom: 50px;
  font-size: 24px;
  color: #000;
  background: url(../images/ttl_bg_01.png) no-repeat;
  width: 720px;
  line-height: 65px;
  padding-left: 35px;
}

#news_main .entry_ttl {
  font-size: 30px;
  color: #000;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
  width: 720px;
  border-bottom: 1px solid #007038;
  margin-bottom: 25px;
  padding: 30px 10px;
}

#news_main .entry_content {
  font-size: 15px;
  color: #333333;
  line-height: 2;
  width: 630px;
  margin: 0 auto;
}

#news_main article img {
  max-width: 100%;
  height: auto;
  margin-top: 1em;
  margin-bottom: 2em;
}

#news_main .contents_page_top img {
  margin: 0;
}

#news_main .entry_footer {
  margin-top: 70px;
  position: relative;
}

#news_main .entry_meta {
  font-size: 13px;
  color: #757575;
  line-height: 1.507;
  padding-left: 45px;
  padding-bottom: 40px;
}

#news_main .entry_meta a,
#news_main .pagenav a {
  font-size: 13px;
  text-decoration: underline;
  color: #007038;
}

#news_main .entry_meta a:hover,
#news_main .pagenav a:hover {
  text-decoration: none;
}

#news_main .contents_page_top {
  position: absolute;
  right: 0;
  bottom: -15px;
}

#news_main .pagenav {
  overflow: hidden;
}

#news_main .pagenav .nav_previous {
  float: left;
  width: 50%;
  margin-bottom: 50px;
}

#news_main .pagenav .nav_next {
  float: right;
  width: 50%;
  text-align: right;
  margin-bottom: 50px;
}

#news_side {
  margin-bottom: 63px;
}

#news_side .widget {
  margin-bottom: 25px;
}

#news_side .widget_ttl {
  background: url(../images/news_side_ttl_bg.png) no-repeat;
  width: 240px;
  height: 40px;
  background-size: 240px;
  margin-bottom: 12px;
  font-size: 18px;
  color: #fff;
  font-weight: bold;
  line-height: 40px;
  padding-left: 40px;
}

#news_side li {
  list-style: none;
  padding-left: 9px;
  background: url(../images/news_side_li.png) no-repeat left top 9px;
  background-size: 6px 9px;
}

#news_side a {
  color: #007038;
  text-decoration: underline;
  font-size: 15px;
}

#news_side a:hover {
  text-decoration: none;
}

/*カレンダー*/
#wp-calendar {
  margin: 0 auto;
  width: 95%;
}

#wp-calendar caption {
  color: #007038;
  font-size: 16px;
  font-weight: bold;
  padding-bottom: 4px;
  text-align: left;
}

#wp-calendar thead {
  font-size: 11px;
}

#wp-calendar thead th {
  background-color: #fff;
  background-image: none;
  font-size: 13px;
  font-weight: bold;
  padding-bottom: 5px;
  text-align: center;
}

#wp-calendar tbody {
  color: #aaa;
}

#wp-calendar tbody td {
  background: #f5f5f5;
  border: 1px solid #fff;
  padding: 0;
  text-align: center;
}

#wp-calendar tbody .pad {
  background: none;
}

#wp-calendar tfoot #next {
  text-align: right;
  padding-right: 5px;
}

/*検索*/

#searchform {
  width: 205px;
  margin: 0 auto;
}

#searchform label {
  display: block;
  font-size: 13px;
  line-height: 1.4;
}

#searchform #s {
  width: 150px;
  border: 1px solid #ccc;
  border-radius: 3px;
  padding: 6px;
  line-height: 1.4;
}

#searchform #searchsubmit {
  cursor: pointer;
  background-color: #eee;
  background-image: -moz-linear-gradient(center top, #f4f4f4, #e6e6e6);
  background-repeat: repeat-x;
  border: 1px solid #d2d2d2;
  border-radius: 3px;
  box-shadow: 0 1px 2px rgba(64, 64, 64, 0.1);
  color: #555;
  font-size: 13px;
  font-weight: normal;
  line-height: 1.4;
  padding: 6px 10px;
}

/*____FLOW____*/
#flow_main section h2 {
  position: relative;
}

#flow_main section h2 .small {
  font-size: 20px;
}

#flow_main section h2 img {
  position: absolute;
  top: 15px;
  left: 25px;
}

#flow_main .section_ttl {
  background: url(../images/ttl_bg_01-2.jpg) no-repeat;
  padding-left: 105px;
}

#flow_main .section_ttl2 {
  font-size: 24px;
  font-weight: bold;
  color: #000;
  background: url(../images/ttl_bg_02.jpg) no-repeat;
  width: 720px;
  line-height: 65px;
  padding-left: 105px;
  margin-bottom: 15px;
}

#flow_main section p {
  float: right;
  width: 305px;
  padding-top: 32px;
}

#flow_main section p.last {
  padding-top: 16px;
}

#flow_main section:last-of-type {
  margin-bottom: 60px;
  margin-top: 45px;
  text-align: center;
}

/*____feature____*/
#feature_main {
  margin-bottom: 50px;
}

#feature_main h1.page_ttl {
  line-height: 38px;
  height: 140px;
  margin-bottom: 30px;
  padding-top: 45px;
}

#feature_main .page_ttl_h1 {
  line-height: 38px;
  height: 140px;
  margin-bottom: 30px;
  padding-top: 45px;
}


#feature_main .section_ttl {
  background: url(../images/ttl_bg_01-2.jpg) no-repeat;
}

#feature_main img.merit {
  margin-bottom: 50px;
}

#feature_main section p {
  margin: auto 30px;
}

#feature_main .feature_point {
  background-color: #e6f1ec;
  border: 3px solid #007038;
  box-shadow: 0px 5px 5px #ccc;
  margin-bottom: 50px;
  padding: 10px;
  margin-top: 40px;
  clear: both;
}

#feature_main .feature_point p {
  font-size: 18px;
  font-weight: bold;
  width: 560px;
  float: right;
  margin: 20px 0;
}

#feature_main .layer2 p {
  width: 345px;
  float: left;
  margin-bottom: 25px;
  margin-top: 5px;
}

#feature_main .layer2 img {
  float: right;
  margin-top: 5px;
}

#feature_main .feature_point .point_text {
  border-bottom: 2px solid #007038;
  width: 665px;
  margin: auto;
  padding-bottom: 15px;
}

#feature_main .feature_point .point_text p {
  width: 530px;
  margin: 30px 0px;
}

#feature_main .feature_point h4 {
  margin-top: 20px;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
}

#feature_main .feature_point h4.point2 {
  background-image: url(../images/feature_img05.jpg);
  background-position: center bottom;
  padding-bottom: 370px;
}

#feature_main .feature_point h4.point3 {}

#feature_main .feature_point p.text {
  font-size: 15px;
  font-weight: normal;
  background-image: url(../images/feature_img06.jpg);
  background-position: -10px top;
  padding: 190px 20px 30px 470px;
  margin: 0;
  float: none;
  width: 700px;
  line-height: 1.4;
}

#feature_main .feature_point h4.point4 {
  background-image: url(../images/feature_img07.jpg);
  background-position: center bottom;
  padding-bottom: 366px;
}

#feature_main .feature_matome {
  background-color: #e6f1ec;
  padding: 20px;
  margin: 20px auto;
  width: 670px;
}

#feature_main .feature_matome h5 {
  color: #007038;
  font-weight: bold;
  border-left: 12px solid #007038;
  line-height: 0.8;
  padding-left: 10px;
  margin: 15px 30px 5px;
}

#feature_main .feature_matome p {
  padding-left: 22px;
}

/*____inlush____*/
#inlush_main {
  margin-bottom: 35px;
}

#inlush_main .keyvisual {
  margin-bottom: 18px;
}

#inlush_main .layer1 {
  background: url(../images/inlush_img1.jpg) no-repeat;
  padding-top: 373px;
  background-position: top center;
}

main .page_ttl+p {
  font-size: 15px;
  color: #333;
  line-height: 28px;
  padding: 15px 50px 50px;
}

#inlush_main h1 {
  margin-left: 35px;
  font-weight: bold;
}

#inlush_main .layer1 .page_ttl {
  height: 100px;
  padding-top: 5px;
  line-height: 1.2;
  margin-bottom: 15px;
  font-size: 30px;
  font-weight: bold;
  color: #000;
  width: 720px;
  border-bottom: 1px solid #007038;
  text-align: center;
}

#inlush_main .layer1 .page_ttl strong,
#inlush_main .layer1 p.left strong {
  color: #df0000;
  font-weight: bold;
}

#inlush_main .layer1 .page_ttl strong span {
  color: #df0000;
  text-decoration: underline;
  font-weight: bold;
}

#inlush_main .layer1 p.text {
  margin-left: 45px;
}

#inlush_main .layer1 p.left,
#inlush_main .layer2 p.left {
  float: left;
}

#inlush_main .layer1 p.right,
#inlush_main .layer2 p.right {
  float: right;
}

#inlush_main .layer1 p.left {
  width: 425px;
  padding: 10px;
}

#inlush_main .layer1 p.right {
  padding: 30px 0px;
}

#inlush_main .layer2 p.left {
  width: 278px;
  margin-left: 20px;
}

#inlush_main .layer2 .photo {
  margin: 20px 0px 30px;
}

#inlush_main .qa {
  border-bottom: 1px dotted #aaa;
}

#inlush_main .top {
  margin-top: 30px;
}

#inlush_main .last {
  border-bottom: none;
  margin-bottom: 50px;
}

#inlush_main .question {
  background: url(../images/inlush_q.png) no-repeat;
  background-position: top left;
  padding-left: 50px;
  font-weight: bold;
  font-size: 24px;
  margin: 10px 0px 15px;
  padding-top: 10px;
}

#inlush_main .answer {
  background: url(../images/inlush_a.png) no-repeat;
  background-position: top left;
  padding-left: 50px;
  line-height: 1.2;
  margin-bottom: 10px;
  padding-top: 10px;
  padding-bottom: 10px;
}

#inlush_main .layer3 {
  margin-top: 50px;
}

#inlush_main .layer4 {
  margin-bottom: 50px;
}

#inlush_main .layer4 p {
  margin-top: 30px;
}

.h-info {
  display: flex;
}

.slide_inner {
  opacity: 0;
  transition: opacity 0.3s linear;
}

.slide_inner.slick-initialized {
  opacity: 1;
}


@media screen and (min-width: 1025px) {
  .pc-hide {
    display: none !important;
  }
}

@media screen and (min-width: 751px) {
  .tablet-hide {
    display: none !important;
  }
}

@media screen and (max-width: 1024px) {
  .sp-hide {
    display: none !important;
  }
}

.breadcrumbs {
  width: 980px;
  margin: 0 auto;
  padding: 0 10px;
  font-size: 12px;
}

.top-h2 {
  text-align: center;
  font-size: 40px;
  margin: 40px 0 0 0;
  color: #007038;
  font-weight: bold;
}

.cta_banner {
  display: none;
}

#header {
  position: fixed;
  z-index: 10000;
}

.breadcrumbs {
  margin: 190px auto 0;
}

.top-keyvisual {
  margin-top: 190px;
}


.page_top {
  position: fixed;
  z-index: 999;
  bottom: 0;
  top: unset;
}


/*240531 追記*/
.yarpp_h3 {
  font-size: 20px;
  font-weight: bold;
  margin: 50px 0 10px 0;
}

.sp-600 {
  display: none;
}

.importance_contents .inner {
  background: #d4b572;
  padding: 20px;
}

.importance_contents .sub_title {
  color: #fff;
  text-align: center;
  font-weight: bold;
  font-size: 18px;
}

.importance_contents .title {
  text-align: center;
  font-weight: 900;
  font-size: 30px;
  margin: 10px 0 10px 0;
  font-family: serif;
}

.importance_contents .txt_box {
  display: flex;
  align-items: center;
}

.importance_contents .txt_box .left {
  background: #fff;
  padding: 15px;
  box-shadow: 0px 3px 10px 0px rgb(0 0 0 / 70%);
}

.importance_contents .txt_box .right {
  background: #fff;
  padding: 15px;
  box-shadow: 0px 3px 10px 0px rgb(0 0 0 / 70%);
}

.importance_contents .txt_box .txt_title {
  text-align: center;
  font-size: 30px;
  font-weight: bold;
  background: linear-gradient(transparent 60%, #ffe100 60%);
  display: block;
  width: 150px;
  margin: 0 auto 10px;
}

.importance_contents .txt_box .txt {
  font-size: 14px;
  line-height: 1.6;
}

.importance_contents .dli-plus {
  display: inline-block;
  vertical-align: middle;
  color: #000;
  line-height: 1;
  width: 30px;
  height: 0.3em;
  background: currentColor;
  position: relative;
}

.importance_contents .dli-plus::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: inherit;
  border-radius: inherit;
  transform: rotate(90deg);
}

.importance_contents .bottom_txt {
  margin: 30px 0 0 0;
  font-size: 35px;
  font-weight: bold;
  text-align: center;
  color: #000000;
  letter-spacing: 3px;
  text-shadow: 3px 3px 0 #FFF, -3px -3px 0 #FFF, -3px 3px 0 #FFF, 3px -3px 0 #FFF, 0px 3px 0 #FFF, 0 -3px 0 #FFF, -3px 0 0 #FFF, 3px 0 0 #FFF;
}

.three_contents {
  margin: 0 0 15px 0;
}

.three_contents .inner {
  background: #ee816a;
  padding: 15px;
}

.three_contents .top {
  display: flex;
  position: relative;
  margin: 0 0 40px 0;
}

.three_contents .left {
  position: absolute;
  background: #de432d;
  border-radius: 0 0 100px 0;
  top: -15px;
  left: -15px;
}

.three_contents .left p {
  font-size: 25px;
  font-weight: bold;
  color: #fff;
  width: 160px;
  height: 130px;
  text-align: center;
  padding: 35px 15px 35px 0px;
}

.three_contents .right {
  padding: 0 0 0 170px;
}

.three_contents .right .title {
  margin: 20px 0 10px 0;
  font-size: 30px;
  font-weight: bold;
  color: #fff;
  letter-spacing: 3px;
  text-shadow: 2px 4px 0 #de432d, 0px 0px 0 #de432d, -2px 4px 0 #de432d, 0px 0px 0 #de432d, 0px 5px 0 #de432d, 0 0px 0 #de432d, 0px 3px 0 #de432d, 0px -2px 0 #de432d;
}

.three_contents .right .title span {
  font-size: 50px;
}

.three_contents .right .txt {
  font-size: 14px;
  color: #fff;
  line-height: 1.5;
}

.three_contents .bottom img {
  width: 100%;
  object-fit: cover;
  border-radius: 5px;
  border: 5px solid #fff;
}

.commitment_contents .inner {
  background: #21b665;
}

.commitment_contents .left {
  background: #077e2c;
}

.commitment_contents .right .title {
  text-shadow: 2px 4px 0 #077e2c, 0px 0px 0 #077e2c, -2px 4px 0 #077e2c, 0px 0px 0 #077e2c, 0px 5px 0 #077e2c, 0 0px 0 #077e2c, 0px 3px 0 #077e2c, 0px -2px 0 #077e2c;
}

.afterfollow_contents .inner {
  background: #f49d18;
}

.afterfollow_contents .left {
  background: #ed6706;
}

.afterfollow_contents .right .title {
  text-shadow: 2px 4px 0 #ed6706, 0px 0px 0 #ed6706, -2px 4px 0 #ed6706, 0px 0px 0 #ed6706, 0px 5px 0 #ed6706, 0 0px 0 #ed6706, 0px 3px 0 #ed6706, 0px -2px 0 #ed6706;
  letter-spacing: -1px;
  font-size: 28px;
}

.afterfollow_contents .right .title span {
  font-size: 47px;
  letter-spacing: -4px;
}

.feature_txt_content {
  position: relative;
}

.feature_txt_content .feature_txt .left {
  position: absolute;
  bottom: 70px;
  left: 20px;
}

.feature_txt_content .feature_txt .left .title {
  margin: 0;
  padding: 0px 0 7px 0;
  font-size: 25px;
  font-weight: bold;
  color: #fff;
  letter-spacing: 3px;
  text-shadow: 0px 2px 0 #3b3b3b, 0px 0px 0 #3b3b3b, 0px 2px 0 #3b3b3b, 0px 0px 0 #3b3b3b, 0px 4px 0 #3b3b3b, 0 0px 0 #3b3b3b, 0px 0px 0 #3b3b3b, 0px 0px 0 #3b3b3b;
}

.feature_txt_content .feature_txt .left .des_txt {
  background: #fff;
  border-radius: 10px;
  border: 2px solid #2968bd;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 25px;
  font-weight: bold;
  padding: 0 22px 0 0;
  color: #2968bd;
  width: 200px;
  margin: 0 auto;
}

.feature_txt_content .feature_txt .left .des_txt span {
  background: #2968bd;
  color: #fff;
  font-weight: bold;
  line-height: 1.2;
  padding: 5px 10px;
  font-size: 16px;
  border-radius: 5px 0 0 5px;
}

.feature_txt_content .feature_txt .right {
  position: absolute;
  bottom: 70px;
  right: 90px;
}

.feature_txt_content .feature_txt .right .title {
  margin: 0;
  padding: 0px 0 7px 0;
  font-size: 25px;
  font-weight: bold;
  color: #fff;
  letter-spacing: 3px;
  text-shadow: 0px 2px 0 #3b3b3b, 0px 0px 0 #3b3b3b, 0px 2px 0 #3b3b3b, 0px 0px 0 #3b3b3b, 0px 4px 0 #3b3b3b, 0 0px 0 #3b3b3b, 0px 0px 0 #3b3b3b, 0px 0px 0 #3b3b3b;
}

.feature_txt_content .feature_txt .right .des_txt {
  background: #fff;
  border-radius: 10px;
  border: 2px solid #df0c1b;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 25px;
  font-weight: bold;
  padding: 0 22px 0 0;
  color: #df0c1b;
  width: 200px;
  margin: 0 auto;
}

.feature_txt_content .feature_txt .right .des_txt span {
  background: #df0c1b;
  color: #fff;
  font-weight: bold;
  line-height: 1.2;
  padding: 5px 10px;
  font-size: 16px;
  border-radius: 5px 0 0 5px;
}

.keyvisual_content {
  position: relative;
}

.keyvisual_content .keyvisual {
  border: 1px solid #939393;
  box-shadow: 0px 10px 5px 0px rgb(0 0 0 / 10%);
  width: 720px;
  height: 150px;
  object-fit: none;
}

.keyvisual_content h1 {
  position: absolute;
  text-shadow: 3px 1px 0 #007038, 0px 1px 0 #007038, -1px 1px 0 #007038, 1px 1px 0 #007038, -1px 1px 0 #007038, 0px 1px 0 #007038, 1px 1px 0 #007038, 2px 1px 0 #007038;
  font-size: 35px;
  font-weight: bold;
  font-family: serif;
  color: #fff;
  top: 40px;
  left: 30px;
  line-height: 1.1;
}

.mt20 {
  margin-top: 20px;
}

/* 20240701 追記 */
.img_text {
  position: relative;
}

.img_text .text_01 {
  position: absolute;
  top: 27%;
  width: fit-content;
  font-weight: 700;
  left: 5%;
  padding: 0 !important;
  font-size: 1rem;
}

.img_text .text_02 {
  position: absolute;
  top: 13%;
  width: fit-content;
  left: 27%;
  font-weight: 700;
  padding: 0 !important;
  font-size: 1.2rem;
}

.img_text .text_03 {
  position: absolute;
  top: 13%;
  width: fit-content;
  right: 16%;
  font-weight: 700;
  padding: 0 !important;
  font-size: 1.2rem;
}

.img_text .text_04 {
  position: absolute;
  top: 40%;
  width: fit-content;
  right: 6%;
  font-weight: 700;
  padding: 0 !important;
  font-size: 1.1rem;
}

@media screen and (max-width: 648px) {
  .img_text .text_01 {
    font-size: 0.8rem;
  }

  .img_text .text_02 {
    font-size: 0.9rem;
  }

  .img_text .text_03 {
    font-size: 0.9rem;
  }

  .img_text .text_04 {
    font-size: 0.8rem;
  }
}

@media screen and (max-width: 500px) {
  .img_text .text_01 {
    font-size: 0.5rem;
  }

  .img_text .text_02 {
    font-size: 0.6rem;
  }

  .img_text .text_03 {
    font-size: 0.6rem;
  }

  .img_text .text_04 {
    font-size: 0.5rem;
  }
}

/* 20240719 追記 */
.timing_img_txt01 {
  position: relative;
}

.timing_img_txt01 .txt01 {
  position: absolute;
  top: 18.8%;
  width: fit-content;
  left: 11.5%;
  font-weight: 700;
  padding: 0 !important;
  font-size: 1rem;
  color: #007038;
}

.timing_img_txt01 .txt02 {
  line-height: 18px;
  position: absolute;
  top: 24%;
  width: fit-content;
  left: 8%;
  font-weight: 700;
  padding: 0 !important;
  font-size: 0.9rem;
  text-align: center;
}

.timing_img_txt01 .sub_txt02 {
  font-size: 1.2rem;
}

.timing_img_txt01 .txt03 {
  position: absolute;
  top: 18.7%;
  left: 75.5%;
  font-weight: 700;
  font-size: 1rem;
  color: #007038;
}

.timing_img_txt01 .txt04 {
  position: absolute;
  top: 25%;
  width: fit-content;
  left: 77%;
  font-weight: 700;
  padding: 0 !important;
  font-size: 1.2rem;
}

.timing_img_txt01 .txt05 {
  position: absolute;
  top: 77.5%;
  left: 11.2%;
  font-weight: 700;
  font-size: 1rem;
  color: #007038;
}

.timing_img_txt01 .txt06 {
  position: absolute;
  top: 84%;
  width: fit-content;
  left: 12.7%;
  font-weight: 700;
  padding: 0 !important;
  font-size: 1.2rem;
}

.timing_img_txt01 .txt07 {
  position: absolute;
  top: 77%;
  left: 75.5%;
  font-weight: 700;
  font-size: 1rem;
  color: #007038;
}

.timing_img_txt01 .txt08 {
  position: absolute;
  top: 83%;
  width: fit-content;
  left: 73.3%;
  font-weight: 700;
  padding: 0 !important;
  font-size: 1.2rem;
}

.timing_img_txt02 {
  position: relative;
}

.timing_img_txt02 .txt01 {
  position: absolute;
  top: 2.3%;
  width: fit-content;
  left: 20.5%;
  font-weight: 700;
  padding: 0 !important;
  font-size: 1.2rem;
  color: #fff;
}

.timing_img_txt02 .txt03 {
  position: absolute;
  top: 10.9%;
  width: fit-content;
  left: 20.5%;
  font-weight: 700;
  padding: 0 !important;
  font-size: 1.2rem;
  color: #fff;
}

.timing_img_txt02 .txt05 {
  position: absolute;
  top: 19.5%;
  width: fit-content;
  left: 20.5%;
  font-weight: 700;
  padding: 0 !important;
  font-size: 1.2rem;
  color: #fff;
}

.timing_img_txt02 .txt07 {
  position: absolute;
  top: 28%;
  width: fit-content;
  left: 20.5%;
  font-weight: 700;
  padding: 0 !important;
  font-size: 1.2rem;
  color: #fff;
}

.timing_img_txt02 .txt09 {
  position: absolute;
  top: 36.5%;
  width: fit-content;
  left: 20.5%;
  font-weight: 700;
  padding: 0 !important;
  font-size: 1.2rem;
  color: #fff;
}

.timing_img_txt02 .txt11 {
  position: absolute;
  top: 45.3%;
  width: fit-content;
  left: 20.5%;
  font-weight: 700;
  padding: 0 !important;
  font-size: 1.2rem;
  color: #fff;
}

.timing_img_txt02 .txt13 {
  position: absolute;
  top: 53.8%;
  width: fit-content;
  left: 20.5%;
  font-weight: 700;
  padding: 0 !important;
  font-size: 1.2rem;
  color: #fff;
}

.widget_recent_entries .column_latest li img {
  width: 100%;
}

/* 240723 追記 */
.top_reason_box_area {
  text-align: center;
}

#top_reason_box {
  display: flex;
  justify-content: space-between;
  width: 1000px;
  margin: 50px auto 0;
}

#top_reason_box .item {
  background: linear-gradient(180deg, #007038 0%, #007038 50%, #00611e 50%, #00611e 100%);
  padding: 20px;
  border-radius: 50%;
  width: 100%;
  height: 220px;
}

#top_reason_box .p_01 {
  position: relative;
}

#top_reason_box .p_01 span {
  font-size: 20px;
  font-weight: bold;
  height: 200px;
  position: absolute;
  width: 20px;
  left: 106px;
  top: -30px;
  transform-origin: bottom center;
}

#top_reason_box .p_01 .char1 {
  transform: rotate(-31deg);
}

#top_reason_box .p_01 .char2 {
  transform: rotate(-23deg);
}

#top_reason_box .p_01 .char3 {
  transform: rotate(-15deg);
}

#top_reason_box .p_01 .char4 {
  transform: rotate(-7deg);
}

#top_reason_box .p_01 .char5 {
  transform: rotate(1deg);
}

#top_reason_box .p_01 .char6 {
  transform: rotate(7deg);
}

#top_reason_box .p_01 .char7 {
  transform: rotate(12deg);
}

#top_reason_box .p_01 .char8 {
  transform: rotate(20deg);
}

#top_reason_box .p_01 .char9 {
  transform: rotate(27deg);
}

#top_reason_box .p_01_02 .char1 {
  transform: rotate(-30deg);
}

#top_reason_box .p_01_02 .char2 {
  transform: rotate(-22deg);
}

#top_reason_box .p_01_02 .char3 {
  transform: rotate(-15deg);
}

#top_reason_box .p_01_02 .char4 {
  transform: rotate(-8deg);
}

#top_reason_box .p_01_02 .char5 {
  transform: rotate(-1deg);
}

#top_reason_box .p_01_02 .char6 {
  transform: rotate(6deg);
}

#top_reason_box .p_01_02 .char7 {
  transform: rotate(13deg);
}

#top_reason_box .p_01_02 .char8 {
  transform: rotate(20deg);
}

#top_reason_box .p_01_02 .char9 {
  transform: rotate(27deg);
}

#top_reason_box .p_01_02 span {
  left: 100px;
}

#top_reason_box .p_01_03 .char1 {
  transform: rotate(-30deg);
}

#top_reason_box .p_01_03 .char2 {
  transform: rotate(-22deg);
}

#top_reason_box .p_01_03 .char3 {
  transform: rotate(-15deg);
}

#top_reason_box .p_01_03 .char4 {
  transform: rotate(-8deg);
}

#top_reason_box .p_01_03 .char5 {
  transform: rotate(-1deg);
}

#top_reason_box .p_01_03 .char6 {
  transform: rotate(6deg);
}

#top_reason_box .p_01_03 .char7 {
  transform: rotate(13deg);
}

#top_reason_box .p_01_03 .char8 {
  transform: rotate(20deg);
}

#top_reason_box .p_01_03 .char9 {
  transform: rotate(27deg);
}

#top_reason_box .p_01_03 .char10 {
  transform: rotate(33deg);
}

#top_reason_box .p_01_03 span {
  left: 100px;
}

#top_reason_box .small {
  position: absolute;
  bottom: -20px;
  right: 0;
  left: 0;
  margin: auto !important;
  color: #fff;
  font-family: '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
  font-weight: 700;
  font-size: 14px !important;
  text-shadow: 2px 2px 5px #000;
}

#top_reason_box .p_01_04 .char1 {
  transform: rotate(-30deg);
}

#top_reason_box .p_01_04 .char2 {
  transform: rotate(-22deg);
}

#top_reason_box .p_01_04 .char3 {
  transform: rotate(-15deg);
}

#top_reason_box .p_01_04 .char4 {
  transform: rotate(-8deg);
}

#top_reason_box .p_01_04 .char5 {
  transform: rotate(-1deg);
}

#top_reason_box .p_01_04 .char6 {
  transform: rotate(6deg);
}

#top_reason_box .p_01_04 .char7 {
  transform: rotate(13deg);
}

#top_reason_box .p_01_04 .char8 {
  transform: rotate(20deg);
}

#top_reason_box .p_01_04 .char9 {
  transform: rotate(27deg);
}

#top_reason_box .p_01_04 span {
  left: 100px;
}

#top_reason_box .box {
  position: relative;
  width: 220px;
}

#top_reason_box .box .text_01 {
  position: absolute;
  bottom: 57px;
  right: 0;
  left: 0px;
  margin: auto;
  color: #efe4aa;
  font-family: '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
  font-weight: bold;
  font-size: 23px;
  text-shadow: 1px 1px 2px #000;
}

#top_reason_box .box .text_02 {
  position: absolute;
  bottom: 18px;
  right: 0;
  left: 0;
  margin: auto;
  color: #fff;
  font-family: '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
  font-weight: 700;
  font-size: 30px;
  text-shadow: 2px 2px 5px #000;
}

#top_reason_box .box .text_02 span {
  font-size: 45px;
  margin: 0 3px;
}

#top_reason_box .box .text_02_04 span {
  font-size: 32px !important;
}

@media screen and (max-width: 648px) {
  #top_reason_box {
    width: 100%;
    flex-flow: wrap;
    justify-content: center;
  }

  #top_reason_box .box {
    margin: 20px;
  }

  #top_reason_box .box .text_02 {
    bottom: 0;
  }

  #top_reason_box .box .text_02 span {
    bottom: 0;
  }
}

.timing_table_box_class {
  position: relative;
}

.timing_table_box_class .attention {
  position: absolute;
  top: 70px;
  right: 0;
  margin-bottom: 0;
}

#timing_table_box {
  display: flex;
  margin-bottom: 32px;
}

#timing_table_box img {
  margin-bottom: 0 !important;
  margin-right: 10px;
}

#timing_table_box .text_area {
  width: 100%;
  border: solid 1px;
  padding: 5px 5px 2px 5px;
}

#timing_table_box .text_area ul li {
  display: flex;
  height: 60px;
  line-height: 60px;
  margin-bottom: 3px;
  justify-content: space-between;
}

#timing_table_box .text_area ul .item_03_li {
  border-top: solid 2px red;
}

#timing_table_box .text_area ul li span {
  width: 30%;
  display: block;
  text-align: center;
}

#timing_table_box .text_area ul li .item_01 {
  background-color: #b6d21f;
  color: #fff;
  font-weight: bold;
}

#timing_table_box .text_area ul li .item_02 {
  background-color: #9ebf28;
  color: #fff;
  font-weight: bold;
}

#timing_table_box .text_area ul li .item_03 {
  background-color: #86ac2e;
  color: #fff;
  font-weight: bold;
}

#timing_table_box .text_area ul li .item_04 {
  background-color: #6e9a32;
  color: #fff;
  font-weight: bold;
}

#timing_table_box .text_area ul li .item_05 {
  background-color: #558a35;
  color: #fff;
  font-weight: bold;
}

#timing_table_box .text_area ul li .item_06 {
  background-color: #377b37;
  color: #fff;
  font-weight: bold;
}

#timing_table_box .text_area ul li .item_07 {
  background-color: #007038;
  color: #fff;
  font-weight: bold;
}

#timing_table_box .text_area ul li .item_01_02 {
  width: 69.5%;
  padding-left: 20px;
  text-align: left;
  font-size: 18px;
}

#timing_table_box .text_area ul li .item_02_02 {
  width: 69.5%;
  padding-left: 20px;
  text-align: left;
  font-size: 18px;
}

#timing_table_box .text_area ul li .item_03_02 {
  background-color: #f8b036;
  font-weight: bold;
  width: 69.5%;
  padding-left: 20px;
  text-align: left;
  font-size: 18px;
}

#timing_table_box .text_area ul li .item_04_02 {
  background-color: #f69fa9;
  font-weight: bold;
  width: 69.5%;
  padding-left: 20px;
  text-align: left;
  font-size: 18px;
}

#timing_table_box .text_area ul li .item_05_02 {
  background-color: #d1a2cc;
  font-weight: bold;
  width: 69.5%;
  padding-left: 20px;
  text-align: left;
  font-size: 18px;
}

#timing_table_box .text_area ul li .item_06_02 {
  background-color: #abb2d7;
  font-weight: bold;
  width: 69.5%;
  padding-left: 20px;
  text-align: left;
  font-size: 18px;
}

#timing_table_box .text_area ul li .item_07_02 {
  background-color: #abb2d7;
  font-weight: bold;
  width: 69.5%;
  padding-left: 20px;
  text-align: left;
  font-size: 18px;
}

@media screen and (max-width: 648px) {
  #timing_table_box .text_area ul li .item_01_02 {
    font-size: 14px;
    padding-left: 10px;
  }

  #timing_table_box .text_area ul li .item_02_02 {
    font-size: 14px;
    padding-left: 10px;
  }

  #timing_table_box .text_area ul li .item_03_02 {
    font-size: 14px;
    padding-left: 10px;
  }

  #timing_table_box .text_area ul li .item_04_02 {
    font-size: 14px;
    padding-left: 10px;
  }

  #timing_table_box .text_area ul li .item_05_02 {
    font-size: 14px;
    padding-left: 10px;
  }

  #timing_table_box .text_area ul li .item_06_02 {
    font-size: 14px;
    padding-left: 10px;
  }

  #timing_table_box .text_area ul li .item_07_02 {
    font-size: 14px;
    padding-left: 10px;
  }

  .timing_table_box_class .attention {
    width: 23%;
    top: 24%;
  }
}

.right_case_add .yarpp_h3 {
  background: url(../images/news_side_ttl_bg.png) no-repeat;
  width: 240px;
  height: 40px;
  background-size: 240px;
  margin-bottom: 12px;
  font-size: 18px;
  color: #fff;
  font-weight: bold;
  line-height: 40px;
  padding-left: 40px;
}

.right_case_add #custom-post-type-categories-2 .sidebar-title {
  background: url(../images/news_side_ttl_bg.png) no-repeat;
  width: 240px;
  height: 40px;
  background-size: 240px;
  margin-bottom: 12px;
  font-size: 18px;
  color: #fff;
  font-weight: bold;
  line-height: 40px;
  padding-left: 40px;
}

.right_case_add .yarpp-related {
  margin: 0 0 30px;
}

.right_case_add .tag_ul li {
  background: #fff;
  color: #000;
  padding: 10px 10px;
  border-top: solid 1px #e5e5e5;
}

.right_case_add .tag_ul li:last-child {
  border-bottom: solid 1px #eee;
}

/* 240723 END */
/* 241125start */
header .inner,
footer .inner {
  width: 1120px;
}

.footer_top nav.wd198 {
  width: 198px;
}

@media screen and (max-width: 1024px) {
  #footer .sp-flex-footer .sp-top nav {
    padding: 10px;
  }
}

article,
/* 241125end */
/* 20250117追記 */
#contact_main input {
  font-size: 16px;
}

.mfp_element_textarea {
  font-size: 16px;
}

#header {
  height: 160px;
}

header .header {
  height: auto;
  padding: 10px 0 0;
}

.top-keyvisual {
  margin-top: 160px;
}

/* 20250117追記 */