.ham-wrap,.catch-wrap {
	position:relative;
}
.ham-mn {
  position:absolute;
  top:20px;
  right:40px;
}
.catch {
  position:absolute;
  top:250px;
  right:0px;
}
.pc-disp {
    display:block;
}
.sp-disp {
    display:none; 
}
@media only screen and (max-width: 768px) {
.pc-disp {
    display:none;
}
.sp-disp {
    display:block; 
}
}
.tx-flex {
    text-align:center;
}
@media only screen and (max-width: 768px) {
.tx-flex {
    text-align:left;
}
}
/* txt */
.txt2 {
   font-size:1.2rem;
   font-weight:800;
}
.txtbold {
   font-weight:bold;
}
.tx-center {
   text-align:center
}
.tx-left {
   text-align:left;
}
.tx-right {
   text-align:right;
}
.tx_marker {
   background:linear-gradient(transparent 75%, #fff799 75%);
   font-weight:bold;
   display:inline;
}
/* color */

.red {
	color: #bc2d2d;
}
.green {
	color: #3b7a28;
}
.brown {
	color: #a67435;
}
.blue {
	color: #325f99;
}
.catchcopy {
    font-size: 2rem;
    font-family: 'Noto Sans Japanese';
    font-weight: 400;
    line-height: 1.3em;
    color: #E0625E;
}
.catchcopy2 {
    font-size: 2.2rem;
    font-family: 'Noto Sans Japanese';
    font-weight: 600;
    line-height: 1.3em;
    color: #E0625E;
}
.col_red {
	color:#F33;
}
.col_green {
	color: #1a9651 !important;
}
.col_blue {
	color: #06C;
}
.col_orange {
	color: #F06000;
}
.tx-70p  {
	font-size:70% !important;
	letter-spacing:normal;
}	
.tx-80p  {
	font-size:80% !important;
	letter-spacing:normal;
}
.tx-90p  {
	font-size:90% !important;
	letter-spacing:normal;
}
.tx100p    {
	font-size:100% !important;
	letter-spacing:normal;
}
.tx-110p {
    font-size: 110% !important;
	letter-spacing:normal;
}
.tx-120p    {
	font-size:120% !important;
	letter-spacing:normal;
}
.tx-130p    {
	font-size:130% !important;
	letter-spacing:normal;
}
.tx-140p    {
	font-size:140% !important;
	letter-spacing:normal;
	line-height:1.4em;
}
.tx-150p    {
	font-size:150% !important;
	letter-spacing:normal;
}
.tx-160p    {
	font-size:160% !important;
	letter-spacing:normal;
}
.tx-170p    {
	font-size:170% !important;
	letter-spacing:normal;
}
.tx-180p    {
	font-size:180% !important;
	letter-spacing:normal;
}
.tx-230p    {
	font-size:230% !important;
	letter-spacing:normal;
}
.tx-300p    {
	font-size:300% !important;
	letter-spacing:normal;
}
.tx-Large {
	font-size:160%;
	letter-spacing:normal;
}
.mar0 {
    margin:0 auto;
}
.txsize1 {
   font-size:1.2rem;
   font-weight:800;
   color:#F33;
   text-align:center;
}
.txtstyle1 {
	font-size: 1.16em;
	font-weight: bold;
}
.txtstyle2 {
	font-size: 1.24em;
	font-weight: bold;
}
.ex {
    padding-left:1em;
    text-indent:-1em;
}

@media only screen and (max-width: 768px) {
.tx-Large {
	font-size:120%;
	line-height:1.6;
}
.tx-230p {
    font-size: 120% !important;
	letter-spacing:2px;
}
.tx-180p {
    font-size: 110% !important;
	letter-spacing:2px;
}
.tx-160p,.tx-130p    {
    font-size: 110% !important;
	line-height:1.2;
	letter-spacing:2px;
}


}

/*
@media only screen and (max-width: 600px) {
.line-h2 {
    line-height: 1.5;
}
.tx-230p {
    font-size: 130% !important;
    letter-spacing: nomal;
}
.tx-180p,.tx-170p {
    font-size: 120% !important;
    letter-spacing: nomal;
}
.tx-160p,.tx-150p {
    font-size: 110% !important;
    letter-spacing: nomal;
}
.tx-140p,.tx-130p,.tx-120p,.tx-110p {
    font-size: 100% !important;
    letter-spacing: nomal;
}
}
*/
/*===========================
spacer
===========================*/


.mt10 {
	margin-top:10px !important;
}
.mt20 {
	margin-top:20px !important;
}
.mt30 {
	margin-top:30px !important;
}
.mt40 {
	margin-top:40px !important;
}
.mt50 {
	margin-top:50px !important;
}
.mt60 {
	margin-top:60px !important;
}
.mt70 {
	margin-top:70px !important;
}
.mt80 {
	margin-top:80px !important;
}
.mt90 {
	margin-top:90px !important;
}
.mt0{
	margin-top:0px !important;}
	
.mb10 {
	margin-bottom:10px !important;
}
.mb20 {
	margin-bottom:20px !important;
}
.mb30 {
	margin-bottom:30px !important;
}
.mb40 {
	margin-bottom:40px !important;
}
.mb50 {
	margin-bottom:50px !important;
}
.mb60 {
	margin-bottom:60px !important;
}
.mb70 {
	margin-bottom:70px !important;
}
.mb80 {
	margin-bottom:80px !important;
}
.mb0{
	margin-bottom:0px !important;}
.res-mt50 {
    margin-top:50px !important;
}

@media screen and (max-width: 768px) {
/*
.mt10,.mt20,.mt30 {
     margin-top:4% !important;
}
*/
.mb10,.mb20,.mb30 {
     margin-bottom:4% !important;
}
.mt40,.mt50,.mt60 {
     margin-top:5% !important;
}
.mb40,.mb50,.mb60 {
     margin-bottom:5% !important;
}
.mt70,.mt80,.mt90 {
     margin-top:8% !important;
}
.mb70,.mb80 {
     margin-bottom:8% !important;
}
}

.top-cnt {
	position: relative;
	display:flex;
	justify-content: center;
	align-items: center;
}
.sec1 .top-cnt::before {
	content: "";
	width: 20%;
	height:330px;
 	padding-top: 15%;
	background-color: rgb(0, 132, 194);
	opacity: 0.2;
	position: absolute;
	left: -10%;
	top: -3rem;
	z-index:1;
}
.sec2 .top-cnt::before {
  content: "";
  width: 20%;
  height:330px;
  padding-top: 15%;
  background-color: rgb(0, 132, 194);
  opacity: 0.2;
  position: absolute;
  right: -10%;
  top: -3rem;
  z-index:1;
}
.sec3 .top-cnt::before {
   content: "";
   width: 20%;
   height:330px;
   padding-top: 15%;
   background-color: rgb(0, 132, 194);
   opacity: 0.2;
   position: absolute;
   left: -10%;
   bottom: -3rem;
   z-index:1;
}
.sec1 .left-img {
    margin-right: -1.78571vw !important;
	overflow: hidden;
	max-width: 800px;
	width: 120%;
	height: 640px;
	z-index: 10;
}
.left-img img {
	max-width: 640px;
	width: 100%;
	height: 480px;
	border: 1px double #CCC;
	padding: 5px;
}
.sec1 .right-cnt {
    margin-top: 2.28571vw;
	margin-left: -9.78571vw !important;
	padding: 3em 3em 4em 3em;
	box-sizing:border-box;
	z-index: 100;
	background-color: white;
	max-width: 640px;
	width: 100%;
	height: auto;
	/*
	box-shadow: 1px 1px 20px rgb(0 0 0 / 10%);
	*/
}
.sec3 .right-cnt {
    margin-top: 2.28571vw;
	margin-left: -9.78571vw !important;
	padding: 3em 3em 4em 3em;
	box-sizing:border-box;
	z-index: 100;
	background-color: white;
	max-width: 640px;
	width: 100%;
	height: 380px;
	/*
	box-shadow: 1px 1px 20px rgb(0 0 0 / 10%);
	*/
}
.right-img {
	margin-left: -3.78571vw !important;
    overflow: hidden;
	max-width: 640px;
    width: 100%;
    height: 480px;
	z-index:50;
}
.sec1 .right-img img {
    max-width: 800px;
    width: 100%;
    height:480px;
	border: 1px double #CCC;
	padding: 5px;
}
.top-cnt .left-cnt {
    margin-top: 2.28571vw;
    margin-right: -6.78571vw !important;
	padding: 3em 3em 4em 3em;
	box-sizing:border-box;
	z-index: 100;
	background-color: white;
	max-width: 640px;
	width: 100%;
	height: 380px;
	/*
	box-shadow: 1px 1px 20px rgb(0 0 0 / 10%);
	*/

}
.sec3 .left-img {
    margin-right: -1.78571vw !important;
	overflow: hidden;
	max-width: 640px;
	width: 100%;
	height:480px;
	z-index: 10;
}
.sec3 .left-img img {
	max-width: 640px;
	width: 100%;
	height:480px;
	border: 1px double #CCC;
	padding: 5px;
}
.left-img img, .right-img img {

    transition-duration: 0.3s;
}
.sec4 .right-img {
	margin-top:-9vw !important;
    margin-right: -1.78571vw !important;
	overflow: hidden;
	max-width: 100%;
	width: 100%;
	height:auto;
	z-index: 10;
	
}
.sec4 .right-img img {
	max-width: 100%;
	width: 100%;
	height:auto;
	border: 1px double #CCC;
	padding: 5px;
	z-index: 10;
}
.sec4  .top-cnt .left-cnt {
    margin-top: 2.28571vw;
    margin-right: -6.78571vw !important;
    padding: 3em 3em 4em 3em;
    box-sizing: border-box;
    z-index: 100;
    background-color: white;
    max-width: 520px;
    width: 100%;
    height: 360px;
}
.sec4 .top-cnt::before {
    content: "";
    width: 40%;
    height: 230px;
    padding-top: 15%;
    background-color: rgb(0, 132, 194);
    opacity: 0.2;
    position: absolute;
    right: -10%;
    top: -9rem;
    z-index: 1;
}	
.top-cnt h2 {
	padding: 0px 0px 0px 0px !important;
	line-height:1.2 !important;
	box-shadow: 0px 0px 0px rgb(0 0 0 / 10%) !important;
	font-size:2.4rem !important;
	background-color:transparent !important;
	top:0px !important;
	font-weight:600;
	font-feature-settings: "palt" 1;
	margin-top:10px;
	margin-bottom:40px;
	font-family: 'Noto Serif JP', serif !important;
	border:none !important;
	color: #0d9784 !important;
	position: static !important;
    text-align: left !important;
}
/*
.sec2 h2 {
	font-size: 3.7rem;
	color: #393939;
	font-family: 'Noto Serif JP', serif;
	font-weight: bolder;
	line-height: 1.2em;
	padding: 0px 0px 0px 0px !important;
	border: 0px solid #FFF !important;
	/* filter: drop-shadow(0px 0px 20px rgba(0,0,0,0.1)); */
/*
    top: 40px;
	right: 0px;
	z-index: 0;
	position:static !important;
	text-align: left !important;
}
*/


.right-cnt p,.left-cnt p{
    font-size:14px !important;
}


.btn-a .btn-primary {
	text-align:left;
	color: #212529;
	background-color: #0d9784;
	border-color: #0d9784;
	padding-left: 20px !important;
	padding-right: 0px !important;
	border-radius: 3px;
	font-size:14px;
	width:220px;
}
.btn-a .btn-primary:hover {
	background:#3abeeb;
	transition: opacity 0.3s linear, background 0.45s var(--ease-out), color 0.45s var(--ease-out);
	color:#fff;
}
.fa-long-arrow-right,.fa-long-arrow-right.fa-btn-bottom,.fa-external-link-alt {
	position:relative;
}
.fa-long-arrow-right:before {
	position:absolute;
	right:-100px;
	top:-12px;
	font-size: 11px;
}
.fa-long-arrow-right.fa-btn-bottom:before {
	position:absolute;
	right:-60px;
	top:-12px;
	font-size: 11px;
}
.fa-external-link-alt:before {
    position:absolute;
	right:-22px;
	top:-16px;
	font-size: 16px;
	
}
.lnk {
	font-weight:500;
}
.site-section.sec1 {
	padding: 10rem 0 7rem;
}
.site-section.sec2 {
	padding: 10rem 0 10rem;
}
.site-section.sec3 {
	padding: 10rem 0 10rem;
}
.site-section.sec4 {
	padding: 6rem 0 6rem;
}
.site-section.sec7 {
	padding: 8.7rem 0 13rem;
	background:#fff;
}

.p-ttl {
	text-align:center;
	font-size:2.0em;
	padding-bottom:0.6em;
	font-weight:600;
	margin-top:20px;
	margin-bottom:40px;
	position:relative;
	color:#333 !important;
}
.p-ttl:before {
    content: "";
    position: absolute;
    bottom: 3px;
    left: 46%;
    width: 70px;
    height: 3px;
    background: #0d9784;
}
.p-ttl-2 {
	text-align:center;
	font-size:1.6em;
	padding-bottom:0.6em;
	font-weight:800;
	margin-top:20px;
	margin-bottom:20px;
	position:relative;
	color:#000 !important;
}

.p-ttl-lft {
	text-align:left;
	font-size:1.6em;
	padding-bottom:0.2em;
	padding-left:10px;
	border-bottom:solid 1px #93cbd3;
	font-weight:400;
	margin-top:20px;
	margin-bottom:40px;
	position:relative;
	color:#333 !important;
}
.p-ttl-lft:before {
	content: "";
    position: absolute;
    bottom: 0px;
    left: 0%;
    width: 160px;
    height: 2px;
    background: #0d9784;
}
@media only screen and (max-width: 768px) {
.site-section.sec4 {
	padding: 3rem 0 3rem;
}
.p-ttl-lft {
	font-size:1.20em;
	padding-left:5px;
	margin-top:30px;
	margin-bottom:16px;
}
.p-ttl-lft:before {
    width: 100px;
}

}
.right-img img {
    border: 1px double #CCC;
    padding: 5px;
}
.fa-arrow-right {
    position:relative;
}
.fa-arrow-right:before {
    position:absolute;
	left: 6px;
    top: -15px;
}
.btn-primary {
	text-align:center;
	color: #212529;
	background-color: #0d9784;
	border-color: #0d9784;
	padding-left: 20px !important;
	padding-right: 0px !important;
	border-radius: 3px;
	font-size:14px;
	width:30%;
}
.btn-primary:hover {
	background:#3abeeb;
	transition: opacity 0.3s linear, background 0.45s var(--ease-out), color 0.45s var(--ease-out);
	color:#fff;
}
@media only screen and (max-width: 768px) {
.site-section p.p-ttl-2 {
	font-size:1.2em;
	font-weight:300;
	margin-top:40px !important;
	padding-bottom:0px ;
	margin-bottom:10px;
}
.sec1 .top-cnt::before,.sec2 .top-cnt::before,.sec3 .top-cnt::before {
    width: 0%;
	content: "";
    height: 0px;
    padding-top: 0%;
    background-color: rgb(0, 132, 194);
    opacity: 0.2;
    position: static;
    left: 0%;
	right: 0%;
    top: 0rem;
    z-index: 1;
}
.sec1 .left-img {
    margin-right: 0vw !important;
    overflow: hidden;
    max-width: 100%;
    width: 100%;
    height: auto;
    z-index: 10;
}
.left-img img {
    max-width: 100%;
    width: 100%;
    height: auto;
    border: 1px double #CCC;
    padding: 5px;
}
.sec1 .right-cnt {
    margin-top: 3vw;
	margin-bottom:5vw;
    margin-left: 0vw !important;
    padding: 1.6em 1.6em 1.2em 1.6em;
    max-width: 100%;
    width: 100%;
    height: auto;
}
.sec1 h2,.sec2 h2,.sec3 h2 {
	text-align:left !important;
    font-size: 1.5rem !important;
    padding: 30px;
    margin-bottom:30px !important;
    position: static !important;
    width: auto;
    margin: auto;
    left: 0;
    right: 0;
    top: 0px;
    text-align: center;
    line-height: 1.1em;
}

.top-cnt .left-cnt {
    margin-top: 0vw;
    margin-right: 0vw !important;
	margin-bottom:5vw;
    padding: 1.6em 1.6em 1.2em 1.6em;
    max-width: 100%;
    width: 100%;
    height: auto;
}
.right-img {
    margin-top:3vw;
    margin-left: 0vw !important;
    overflow: hidden;
    max-width: 100%;
    width: 100%;
    height: auto;
    z-index: 50;
}
.right-img img {
    max-width: 100%;
    width: 100%;
    height: auto;
    border: 1px double #CCC;
    padding: 5px;
}
.sec3 .right-cnt {
    margin-top: 3vw;
    margin-left: 0vw !important;
	margin-bottom:5vw;
    padding: 1.6em 1.6em 1.2em 1.6em;
    max-width: 100%;
    width: 100%;
    height: auto;
    box-shadow: 1px 1px 20px rgb(0 0 0 / 10%);
}
.sec3 .left-img {
    margin-right: 0vw !important;
    overflow: hidden;
    max-width: 100%;
    width: 100%;
    height: auto;
    z-index: 10;
}
.sec3 .left-img img {
    max-width: 100%;
    width: 100%;
    height: auto;
    border: 1px double #CCC;
    padding: 5px;
}
.top-cnt {
	padding-bottom: 1em;
	flex-wrap:wrap;
}
.sec2 .top-cnt {
	padding-bottom: 0em;
	flex-wrap:wrap;
}
.left-img {
	order:2;
}
.right-img {
	order:2;
}
.left-cnt {
	order:1;
}
.right-cnt {
	order:1;
}
.sec2 {
    margin-top: 0px;
}
.site-section.sec1 {
    padding: 3rem 0  3rem;
}
.site-section.sec2 {
    padding: 3rem 0  3rem;
}
.site-section.sec3 {
    padding: 3rem 0  3rem;
}
.site-section.sec7 {
    padding: 3rem 1rem  3rem;
}
.sec1, .sec3 {
    margin-top: 0px;
}
.res-img img {
	width:100%;
	height:auto;
}
.fa-long-arrow-right:before {
	position:absolute;
	right:-30px;
	top:-12px;
	font-size: 11px;
}
.p-ttl {
    font-size: 1.50em;
    padding-bottom: 0.7em;
    margin-top: 30px;
    margin-bottom: 30px;
	line-height:1.20;
}
.p-ttl:before {
    bottom: 3px;
    left: 40%;
    width: 70px;
    height: 3px;
}
.sec6 .news h2 {
    font-size: 2.0em;
}
.btn-a .btn-primary {
    width: 180px;
	padding: 6px 18px !important;
}
.fa-long-arrow-right:before {
    position: absolute;
    right: -60px;
    top: -10px;;
    font-size: 11px;
}
.btn-primary {
	text-align:center;
	color: #212529;
	background-color: #0d9784;
	border-color: #0d9784;
	padding: 10px 20px !important;
	border-radius: 3px;
	font-size:14px;
	width:100%;
}
.col-12.item {
	padding-left:0px !important;
	padding-right:0px !important;
}
.col-12.item.item-top {
	padding-left:15px !important;
	padding-right:15px !important;
}
.fa-long-arrow-right.fa-btn-bottom:before {
	position:absolute;
	right:-40px;
	top:-12px;
	font-size: 11px;
}
}

@media only screen and (max-width: 420px) {
.p-ttl:before {
    bottom: 3px;
    left: 33%;
    width: 70px;
    height: 3px;
}
}

.btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active, .show>.btn-primary.dropdown-toggle {
    color: #fff;
    background-color: #0d9784 !important;
    border-color: #0d9784 !important;
}
.btn-primary:hover {
    color: #fff;
    background-color: #0d9784 !important;
    border-color: #0d9784 !important;
	opacity:0.7;
}
.btn-b a {
    text-decoration: none;
    text-align: left;
    color: #FFF !important;
    position: relative;
    display: inline-block;
    padding: 0.2em 1.3em 0.2em 0.8em;
    line-height: 30px;
    background: #f2ab1d;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
    transition: all .3s;
    -webkit-transition: all .3s;
	width:93%;
    -webkit-transition: all .3s;
}
.btn-tel a {
    text-decoration: none;
    text-align: center;
    color: #FFF !important;
    position: relative;
    display: inline-block;
    padding: 0.2em 1.3em 0.2em 0.8em;
    line-height: 30px;
    background: #f2ab1d;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
    transition: all .3s;
    -webkit-transition: all .3s;
	width:200px;
    -webkit-transition: all .3s;
}
.btn-res a {
    text-decoration: none;
    text-align: center;
    color: #FFF !important;
    position: relative;
    display: inline-block;
    padding: 0.2em 1.3em 0.2em 0.8em;
    line-height: 30px;
    background: #f2ab1d;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
    transition: all .3s;
    -webkit-transition: all .3s;
	width:300px;
    -webkit-transition: all .3s;
}

.btn-b a:hover,.btn-tel a:hover,.btn-res a:hover  {
    opacity:0.7;
}

 
.btn-primary:not(:disabled):not(.disabled).active:focus, .btn-primary:not(:disabled):not(.disabled):active:focus, .show>.btn-primary.dropdown-toggle:focus {
    -webkit-box-shadow: 0 0 0 0.2rem #6f871f !important;
    box-shadow: 0 0 0 0.2rem #6f871f !important;
}
@media only screen and (max-width: 768px) {
.btn-res a {
	width:100%;
	line-height:1.2;
    padding: 0.4em 0.2em 0.4em 0.2em;
}


}
.box-wrap {
    background: #fcfaf5;
    box-sizing: border-box;
}
.box-ttl {
	text-align:center !important;
	background:#0d9787;
	padding:0.6em;
	color:#fff;
	font-weight:800;
	font-size:1.1em;
	margin-bottom:0px !important;
	display:flex;
	align-items:center;
	justify-content:center;
}
.box-ttl02 {
	text-align:center !important;
	background:#0d9787;
	padding:0.8em;
	color:#fff;
	font-weight:800;
	font-size:1.0em;
	margin-bottom:0px !important;
	display:flex;
	align-items:center;
	justify-content:center;
}
.box-wrap div.box-cnt {
	width:100%;
	margin:0px auto 0em;
	padding:1.2em 1.8em 1.8em 1.8em;
	box-sizing:border-box;
}

@media only screen and (max-width: 768px) {
.box-ttl {

	padding:0.6em;
	font-size:1.0em;
}

}


.flex {
    display: flex;
    justify-content: space-between;
    align-items: start;
    flex-wrap: wrap;
}
.flex-2col {
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:10%;
}
.flex-2col > li{
  width:45%;
  margin:2% 0% 0 0%; 
}
.flex-2col > li:nth-of-type(odd){
  width:45%;
  margin:2% 0% 0 0%; 
}
.flex-2col > li:nth-of-type(even){
  width:45%;
  margin:2% 0 0 0%;
}
.flex-2col-start {
  display:flex;
  justify-content:space-between;
  align-items:start;
  flex-wrap:wrap;
  gap:3%;
}
.flex-2col-start > li{
  width:47.5%;
  margin:2% 0 0 0%; 
}
.flex-2col-start > li:nth-of-type(1){
  width:48.5%;
  margin:0% 0% 0 0% !important; 
}
.flex-2col-start > li:nth-of-type(2){
  width:48.5%;
  margin:0% 0% 0 0% !important; 
}
.flex-2col-start > li:nth-of-type(odd){
  width:48.5%;
  margin:3% 0% 0 0%; 
}
.flex-2col-start > li:nth-of-type(even){
  width:48.5%;
  margin:3% 0% 0 0%; 
}


.flex-2col-start02 {
  display:flex;
  justify-content:start;
  align-items:start;
  flex-wrap:wrap;
  gap:5%;
}
.flex-2col-start02 > li{
  width:47.5%;
  margin:2% 0 0 0%; 
}
.flex-2col-start02 > li:nth-of-type(odd){
  width:47.5%;
  margin:2% 0% 0 0%; 
}
.flex-2col-start02 > li:nth-of-type(even){
  width:47.5%;
  margin:2% 0% 0 0%; 
}

.flex-list2 {
  width:17.5% !important;
  margin:0 0 0 0% !important;  
}
.flex-list3 {
  width:27.5% !important;
  margin:0 0 0 0% !important;   
}
.flex-list4 {
  width:37.5% !important;
  margin:0 0 0 0% !important;  
}
.flex-list5 {
  width:47.5% !important;
  margin:0% 1% 0 0% !important;  
}
.flex-list6 {
  width:57.5% !important;
  margin:0 0 0 0% !important;   
}
.flex-list7 {
  width:67.5% !important;
  margin:0 0 0 0% !important;  
}
.flex-list8 {
  width:77.5% !important;
  margin:0 0 0 0% !important;  
}
.flex-list9 {
  width:87.5% !important;
  margin:0 0 0 0% !important;  
}
.flex-3col {
  display:flex;
  justify-content:start;
  align-items:start;
  flex-wrap:wrap;
  gap:5%;
}
.flex-3col > li{
  width:30%;
  margin:2% 0 0 0%;
}
.flex-4col {
  display:flex;
  justify-content:start;
  align-items:start;
  flex-wrap:wrap;
  gap:3%;
}
.flex-4col > li{
  width:22.5%;
  margin:2% 0 0 0%;
}

@media only screen and (max-width: 768px) {
.flex-2col > li,.flex-2col-start > li,.flex-2col-start > li:nth-of-type(1),.flex-2col-start > li:nth-of-type(2),.flex-2col-start02 > li:nth-of-type(odd),.flex-2col-start02 > li:nth-of-type(even){
  width:100% !important;
  margin:2% auto 8% !important; 
}
.flex-3col > li{
  width:100%;
  margin:2% auto 8% !important; 
}
.flex-4col > li{
  width:100%;
  margin:2% auto 8% !important; 
}
.flex-list2,.flex-list3,.flex-list4,.flex-list5,.flex-list6,.flex-list7,.flex-list8,.flex-list9 {
  width:100% !important;
  margin:2% auto 8% !important;  
}

}

ul{
  padding-left:0;
}

li{
  list-style:none;
}
.line-both {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;

   margin-bottom: 58px;
   color: #000; 
   font-size: 40px; 
   text-transform: uppercase;
}

.line-both::before,
.line-both::after {
	content: '';
	width: 70px;
	height: 2px;
	background-color: #006020;
}

.line-both::before {
	margin-right: 20px;
}
.line-both::after {
	margin-left: 20px;
}
@media only screen and (max-width: 768px) {
.line-both::before,
.line-both::after {
	content: '';
	width: 30px;
	height: 2px;
	background-color: #006020;
}
.line-both::before {
	margin-right: 10px;
}
.line-both::after {
	margin-left: 10px;
}

}
ul {
	margin-bottom:0px;
}
ul.circle {
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;	
}
ul.circle li {
    padding: 0 0 0.5em 1.2em;
    margin-bottom: 0.7em;
    border-bottom: 1px dashed #CCC;
    width:90%;
    margin-right:2%;
    position: relative;
}
ul.circle li:before {
    position: absolute;
    content: "";
    width: 6px;
    height: 6px;
    background-color: #222;
    border-radius: 50%;
    left: 0.5em;
    margin-top: 0.6em;
}
ul.circle-2col {
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;	
}
ul.circle-2col li {
    padding: 0 0 0.5em 1.2em;
    margin-bottom: 0.7em;
    border-bottom: 1px dashed #CCC;
    width:45%;
    margin-right:2%;
    position: relative;
}
ul.circle-2col li.l-l {
    padding: 0 0 0.5em 1.2em;
    margin-bottom: 0em;
    border-bottom: 1px dashed #CCC;
    width:45%;
    margin-right:2%;
    position: relative;
}

ul.circle-2col li:before {
    position: absolute;
    content: "";
    width: 6px;
    height: 6px;
    background-color: #222;
    border-radius: 50%;
    left: 0.5em;
    margin-top: 0.6em;
}
ul.circle-3col {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}
ul.circle-3col li {
    padding: 0 0 0.5em 1.2em;
    margin-bottom: 0.7em;
    border-bottom: 1px dashed #CCC;
    width: 29.5%;
    margin-right: 2%;
    position: relative;
}
ul.circle-3col li:before {
    position: absolute;
    content: "";
    width: 6px;
    height: 6px;
    background-color: #222;
    border-radius: 50%;
    left: 0.5em;
    margin-top: 0.6em;
}
@media only screen and (max-width: 768px) {
ul.circle-2col li,ul.circle-3col li {
       width: 90%;
	   line-height:1.6;
}
ul.circle-2col li.l-l {
    width: 90%;    
	margin-bottom: 0.7em;
	line-height:1.6;
}


}

.tbl-1 th,.tbl-1 td {
	text-align:center;
	border: 1px solid #E5E5E5;
	vertical-align:middle !important;
}
.tbl-1 th {
  background:#def9f6;
}

@media only screen and (max-width: 768px) {
.table-scroll {
    overflow-x: auto;
    width: 100%;
    border-right: 5px solid #ccc;
	margin-bottom:10px;
}
.table-scroll::-webkit-scrollbar {
    height: 5px;
}
.table-scroll::-webkit-scrollbar-track {
    border-radius: 5px;
    background:#CCC;
}
.table-scroll::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background:#999;
}
.table-scroll table {
    table-layout: fixed;
    min-width: 100%;
    white-space: nowrap;
    width: 100%;
    overflow: hidden;
    margin-bottom:0px;
}
.table-scroll table th {
    width:200px !important;
    min-width: 250px;
    display:table-cell;
    padding:2%;
    font-size:12px;
    border: 1px #ccc solid;
}
.table-scroll table td {
    width: 120px;
    min-width: 130px;
    display:table-cell;
    font-size:12px;
    word-wrap: break-word;
    white-space:normal;
	    padding: 3px !important;
}
.table-scroll table th.th-01 {
    width:250px !important;
    min-width: 300px;
    display:table-cell;
    font-size:12px;
}
.table-scroll table td.td-01 {
    width: 200px;
    min-width: 250px;
    display:table-cell;
    font-size:12px;
    word-wrap: break-word;
    white-space:normal;
}

}
.wd40{
   width:40% !important;
   margin:auto;
}
.wd50 {
  width:50% !important;
  margin:0 auto;
}
.wd60 {
  width:60% !important;
  margin:0 auto;
}
.wd70 {
  width:70% !important;
  margin:0 auto;
}
.wd80 {
  width:80% !important;
  margin:0 auto;
}
.wd85 {
  width:85% !important;
  margin:0 auto;
}
.wd90 {
  width:90% !important;
  margin:0 auto;
}
.wd95 {
  width:95% !important;
  margin:0 auto;
}

@media only screen and (max-width: 768px) {
.wd40,.wd50,.wd60,.wd70,.wd80,.wd85,.wd90,.wd95{
   width:100% !important;
   margin:auto;
}
}
.box-sd {
    padding: 3rem;
    background-color: #fff;
    border: 1px solid #999;
    box-sizing: border-box;
}
.box-sd02 {
    padding: 3rem 3rem 2rem;
    background-color: #fff;
    border: 1px solid #999;
    box-sizing: border-box;
	box-shadow: 0px 1px 3px 0px rgb(0 0 0 / 10%), 0px 3px 15px 0px rgb(0 0 0 / 8%), 0px 5px 28px 0px rgb(0 0 0 / 6%);
}
.box-sd03 {
    padding: 3rem 3rem 2rem;
    background-color: #fff;
    color: #333;
    border: 5px double #999;
    box-shadow: 0px 1px 3px 0px rgb(0 0 0 / 10%), 0px 2px 8px 0px rgb(0 0 0 / 8%), 0px 3px 14px 0px rgb(0 0 0 / 6%);
    box-sizing: border-box;
}

@media only screen and (max-width: 768px) {
.box-sd {
    padding: 2rem 1.4rem;
    box-sizing: border-box;
}
.box-sd02 {
    padding: 1.6rem 1.2rem 1.0rem 1.6rem;
    box-sizing: border-box;
}
.box-sd03 {
    padding: 1.2rem;
    box-sizing: border-box;
}

}

ol.num_order {
 padding-left:20px;
}
ol.num_order li {
	font-weight:bold;
	font-size:1.1em;
    padding: 5px 0 4px 0;
    list-style-type: decimal;
}

@media only screen and (max-width: 768px) {
ol.num_order li {
	font-size:1.0em;
    padding: 5px 0 4px 0;
}
table th ,table td,.tbl-1 th{
    display: block;
    width: 100%;
    box-sizing: border-box;
}
}

.res-img {
	width:100%;
	height:auto;
}

.h3-ttl {
	margin-bottom:30px;
	
  color: #333;
  padding: 0.5em 0;
  border-top: solid 2px #0d9787;
  border-bottom: solid 2px #0d9787;
  text-align:center;
  font-weight:500;
}


@media only screen and (max-width: 768px) {
.h3-ttl {
  font-size: 1.50rem;
  padding: 0.7em 0;
  margin-bottom: 29px;
}
}
.wrap-h2 {
  width:96%;
  margin:3% auto 6%;
}
.wrap-h3 {
  width:96%;
  margin:6% auto 6%;
}
.wrap-h4 {
  width:96%;
  margin:3% auto 6%;
}
.wrap-h {
  width:96%;
  margin:3% auto 6%;
}
@media only screen and (max-width: 768px) {
.wrap-h2 {
  width:100%;
  margin:3% auto;
}
.wrap-h3 {
  width:98%;
  margin:3% auto;
}
.wrap-h4 {
  width:100%;
  margin:3% auto;
}
.wrap-h {
  width:90%;
  margin:0% auto 6%;
}
}

.res-img90 {
    width:90% !important;
	height:auto !important;
}
.res-img80 {
    width:80% !important;
	height:auto !important;
}
.res-img70 {
    width:70% !important;
	height:auto !important;
}
.res-img60 {
    width:60% !important;
	height:auto !important;
}
.res-img50 {
    width:50% !important;
	height:auto !important;
}
.res-img40 {
    width:40% !important;
	height:auto !important;
}
.res-img30 {
    width:30% !important;
	height:auto !important;
}
.res-img20 {
    width:20% !important;
	height:auto !important;
}
@media only screen and (max-width: 768px) {
.res-img90,.res-img70,.res-img60,.res-img50{
     width:100% !important;
	height:auto !important;  
}
.res-img80{
     width:70% !important;
	height:auto !important;  
}
}
@media (min-width: 769px) {
a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
}
}
.company_data .data a {
    color: #333 !important;
    text-decoration: none;
}
.company_data .data a:hover {
    cursor: pointer;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
    -moz-opacity: 0.7;
    -khtml-opacity: 0.7;
    opacity: 0.7;
    zoom: 1;
    transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
}
.tel-a a {
    color:#fff !important;
	text-decoration:none;
}
.tel-a a:hover {
    cursor: pointer;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
    -moz-opacity: 0.7;
    -khtml-opacity: 0.7;
    opacity: 0.7;
    zoom: 1;
    transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
}
/*===========================
anchor
===========================*/


#anchor01 {
	margin-top:-110px;
	padding-top:110px;
}

#anchor02 {
	margin-top:-95px;
	padding-top:95px;
}

#anchor03 {
	margin-top:-95px;
	padding-top:95px;
}
#o-stop {
    margin-top: -90px;
    padding-top: 90px;
}
#resinification {
    margin-top: -50px;
    padding-top: 50px;
}
.site-section.site-section-sp {
	padding:10rem 0;
}
@media only screen and (max-width: 768px) {
.site-section.site-section-sp {
	padding:4.6rem 0;
}

}
