
html {
	overflow-y: scroll;
	overflow-x: hidden;
	-ms-overflow-style: scrollbar;
	scroll-behavior: smooth;
}

html　, html a　, body { -webkit-font-smoothing: antialiased; }

html {
	font-size: 15px;
	-webkit-tap-highlight-color: transparent;
}

body {
	font-size:15px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: normal;
	color: #4b4b4b;
	line-height: 1.6;
	overflow: hidden;
	}

/* Typography */

h1 {
	margin:0;
	padding:0;
	font-size:10px;
	text-align:left;
}

h2 , h3 , h4 , h5 , h6 {
	font-weight: 400;
	line-height: 1.2;
	color: #4b4b4b;
	margin-top: 0;
	margin-bottom: .5rem;
}

h2 a , h3 a , h4 a , h5 a , h6 a {
	color: #4b4b4b;
	transition-duration: 200ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

h2 a:focus,
h2 a:hover,
h3 a:focus,
h3 a:hover,
h4 a:focus,
h4 a:hover,
h5 a:focus,
h5 a:hover,
h6 a:focus,
h6 a:hover {
	color: #a79576;
	transition-duration: 200ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
	transition: .4s;
}

h2 { font-size: 2rem; }
h3 { font-size: 1.75rem; }
h4 { font-size: 1.5rem; }
h5 { font-size: 1.25rem; }
h6 { font-size: 1rem; }

em , li {
	font-size: 1rem;
	font-weight: 300;
	color: #333;
}

em > a , li > a { color: #242424; }

em > a:hover , li > a:hover { transition: .4s; }

label {
	font-size: 0.8125rem;
	font-weight: 700;
	color: #242424;
	margin-bottom: .25rem;
}

i { line-height: 1; }

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

/* Paragraph */

p {
	font-size: 15px;
	font-weight: 500;
	color: #4b4b4b;
	line-height: 1.7;
	margin-top: 0;
	margin-bottom: 1rem;
}

@media screen and (max-width: 1200px){
p { font-size: 14px; }
}

/* Links */

a {	color: #4b4b4b;	text-decoration: none; }

a:focus , a:hover {
	color: #4b4b4b;
	text-decoration: none;
	opacity: 0.8;
	transition: .4s;
}

a:focus { outline: none; }

/*----------------------------------
  Selection
------------------------------------*/

::selection {
  color: #fff;
  background: #a79576;
  text-shadow: none;
}

::-webkit-selection {
  color: #fff;
  background: #a79576;
  text-shadow: none;
}

:active , :focus { outline: none; }

/*----------------------------------
  Button
------------------------------------*/

.s-btn {
	position: relative;
	display: block;
	margin: 0 auto!important;
	padding: 10px;
	text-align: center;
	border-radius: 8px ;
	transition: .4s;
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0.0625rem;
}
@media only screen and (max-width: 1200px) {
.s-btn { font-size: 1rem; }
}

.sbtnc1 { background: #76D5CD; border: 3px solid #76D5CD; color: #fff; }
.sbtnc1:hover { background: #ccc; border: 3px solid #ccc; color:#fff; transition: .4s; opacity: 1; }
.sbtnc2 { background: #f9c12f; border: 3px solid #f9c12f; color:#fff; }
.sbtnc2:hover { background: #ccc; border: 3px solid #ccc; color:#fff; transition: .4s; opacity: 1; }
.sbtnc3 { background: #FFAA97; border: 3px solid #FFAA97; color:#fff; }
.sbtnc3:hover { background: #ccc; border: 3px solid #ccc; color:#fff; transition: .4s; opacity: 1; }
.sbtnc4 { background: #C59ECF; border: 3px solid #C59ECF; color:#fff; }
.sbtnc4:hover { background: #ccc; border: 3px solid #ccc; color:#fff; transition: .4s; opacity: 1; }

.fa-position-right::before {
	position: absolute;
	content: "";
	top:50%;
	right:8px;
	transform: translateY(-50%);
}

/*----------------------------------
  aisis
------------------------------------*/

header {
	padding: 0;
	text-align: center;
	width: 100%;
	position: fixed;
	z-index: 9999;
	top: 0;
	background: rgba(255,255,255,0.9);
	box-shadow: 0 0.3125rem 0.75rem rgba(34, 35, 36, 0.05);
}
header .row { margin: 0!important; }

.imgc { display: block; margin: auto; }
.opa-1 { opacity: 1!important; }
.marker { background: linear-gradient(transparent 60%, #F6FF62 70%); }
.p-link { scroll-margin-top: 100px; }
.tshadow {text-shadow: 0 0 5px rgba(0,0,0,0.8); }
.radius-b-10 {	border-radius: 0 0 10px 10px ; }
.radius-b-20 {	border-radius: 0 0 20px 20px ; }
.radius-t-10 { border-radius: 10px 10px 0 0 !important;}


.disc {
	list-style: disc;
	color: #444;
	margin: 0;
}
.disc li {
	margin-bottom: 3px;
	font-weight: 500;
	font-size: 14px;
}

.lidisc-in { padding: 0 0 0 22px; margin: 0;}
.lidisc-in li { 
	list-style: disc;
	margin: 0 0 3px; 
	color:#444; 
	font-weight: 500; 
	font-size: 13px;	
	font-family: "Noto Sans JP", sans-serif;
}

@media screen and (max-width: 1200px) {
.lidisc li , .lidisc-in li , .disc li { font-size: 12px; }
.lidisc-in { padding: 0 0 0 16px;}
}

.flbox {
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.txtbox {
	background-color: #fff;
	padding: 20px 20px;
	width: 100%;
}
.txtbox2 {
	background-color: #fff;
	padding: 40px 40px;
}

@media only screen and (max-width:1200px){
.txtbox , .txtbox2 {
	background-color: #fff;
	padding: 15px 15px;
}
}

.bor-dot1 { border: 8px dotted #76d5cd; font-family: 'Zen Maru Gothic', sans-serif; }
@media screen and (max-width: 480px){
.bor-dot1 { border: 6px dotted #76d5cd; }
}

.bor-dot2 { border: 8px dotted #f9c12f; font-family: 'Zen Maru Gothic', sans-serif; }
@media screen and (max-width: 480px){
.bor-dot2 { border: 6px dotted #f9c12f; }
}

.bor-dot3 { border: 8px dotted #ffaa97; font-family: 'Zen Maru Gothic', sans-serif; }
@media screen and (max-width: 480px){
.bor-dot3 { border: 6px dotted #ffaa97; }
}

.bg-stripe { background-image: repeating-linear-gradient(270deg, #fffced, #fffced 16px, #ffffff 16px, #ffffff 32px); background-position: center; }

/*  Font Family
------------------------------ */

.fontg1 { font-family: 'Noto Sans JP', sans-serif; }
.fontg2 { font-family: 'Noto Serif JP', serif; }
.fontg3 { font-family: 'Zen Kaku Gothic New', sans-serif; }
.fontg4 { font-family: "M PLUS Rounded 1c"; }
.fontg5 { font-family: 'Zen Maru Gothic', sans-serif; }
.fontg6 { font-family: 'Reem Kufi', sans-serif; }

/*----------------------------------
  section 1 ( bxslider )
------------------------------------*/

.main-visual {
    position: relative;
    width: 100%;
    height: 900px;
    overflow: hidden;
	margin-top: 80px;
}
@media screen and (max-width:1600px){
.main-visual { height: 620px; }
}
@media screen and (max-width:1400px){
.main-visual { height: 520px; margin-top: 70px; }
}
@media screen and (max-width:991px){
.main-visual { height: 400px; }
}
@media screen and (max-width:580px){
.main-visual { height: 580px;}
}

.main-visual .slide {
    display: block;
    position: absolute;
    inset: 0;
    background: no-repeat center/cover;
    opacity: 0;
    z-index: 1;
    animation: fadeAnime 16s linear infinite;
}
.main-visual a.slide { cursor: pointer; }

.main-visual .slide:nth-child(1) { background-image: url('../imgs/s2.webp'); animation-delay: 0s; }
.main-visual .slide:nth-child(2) { background-image: url('../imgs/s1.webp'); animation-delay: 4s; }
.main-visual .slide:nth-child(3) { background-image: url('../imgs/s2.webp'); animation-delay: 8s; }
.main-visual .slide:nth-child(4) { background-image: url('../imgs/s1.webp'); animation-delay: 12s; }

@media screen and (max-width:580px){
.main-visual .slide:nth-child(1) { background-image: url('../imgs/s2_sp.webp'); animation-delay: 0s; }
.main-visual .slide:nth-child(2) { background-image: url('../imgs/s1_sp.webp'); animation-delay: 4s; }
.main-visual .slide:nth-child(3) { background-image: url('../imgs/s2_sp.webp'); animation-delay: 8s; }
.main-visual .slide:nth-child(4) { background-image: url('../imgs/s1_sp.webp'); animation-delay: 12s; }
}

@keyframes fadeAnime {
0% {
	opacity: 0;
	z-index: 1;
}
10% {
	opacity: 1;
	z-index: 3;
}
30% {
	opacity: 1;
	z-index: 3;
}
31% {
	z-index: 2;
}
40% {
	opacity: 0;
	z-index: 1;
}
100% {
	opacity: 0;
	z-index: 1;
}
}

.dots {
    position: absolute;
    bottom: 20px; 
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 12px; 
    z-index: 10;
	pointer-events: none;
}

.dots span {
    width: 10px;
    height: 10px;
    background: rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    animation: dotAnime 10s linear infinite;
}

.dots span:nth-child(2) { animation-delay: 5s; }
/*.dots span:nth-child(3) { animation-delay: 6s; }*/

@keyframes dotAnime {
0%, 33.3% {	background: #ffb347; }
33.4%, 100% {
	background: rgba(255, 255, 255, 0.5);
	transform: scale(1);
}
}

/*----------------------------------
  section 3
------------------------------------*/

.sc3 {
	position: relative; overflow: clip;
	background:url("../img/top/roof.webp")no-repeat top center / 100% , url("../img/top/clowd.webp")no-repeat bottom center / 100% , #fffced;
	padding: 140px 0 ;
}
@media screen and (max-width:1400px){
.sc3 {
	background:url("../img/top/roof.webp")no-repeat top center /150% , url("../img/top/clowd.webp")no-repeat bottom left -80px / 150% , #fffced;
	padding: 100px 0 ;
}
}
@media screen and (max-width:991px){
.sc3 {
	background:url("../img/top/roof.webp")no-repeat top center / 150% , url("../img/top/clowd.webp")no-repeat bottom left -80px / 200% , #fffced;
	padding: 80px 0 ;
}
}
@media screen and (max-width:580px){
.sc3 { background:url("../img/top/roof.webp")no-repeat top center / 300% , url("../img/top/clowd.webp")no-repeat bottom left -40px / 300%  , #fffced; }
}

.sc3::before {
	position: absolute;
	content: "";
	width: 38%;
	height: 60%;
	margin: auto ;
	right: 0;
	top:0;
	bottom: 0;
	border-radius: 500px 0 0 500px;
	background:url("../img/top/sc3.webp")no-repeat center center / cover ;
}
@media screen and (max-width:991px){
.sc3::before {
	height: 50%;
	top:18%;
	bottom: inherit;
}
}
@media screen and (max-width:580px){
.sc3::before { background:none; }
}

.radius-cus { border-radius: 500px 0 0 500px ;}

/* ------- case ------- */

.step {
	display: block;
	font-weight: 600;
	color: #fff;
	padding: 5px 15px;
	text-align: center;
	border-radius: 5px;
	font-family: 'Zen Kaku Gothic New', sans-serif;
}

table.case {
	margin:0 auto;
	width:100%;
    border-collapse:separate;
    border-spacing:5px;
	empty-cells:show;
	font-family: 'Zen Kaku Gothic New', sans-serif!important;
}
.case th {
	font-size:13px;
	letter-spacing:1px;
	padding:12px 10px;
	text-align: center;
	color:#4b4b4b;
	font-weight: 600;
}
.case td {
	font-size:13px;
	color:#4b4b4b;
	padding:12px 10px;
	font-weight: 500;
}
.case td ul li {
	font-size:12px!important;
	margin-bottom: 2px;
	color:#4b4b4b;
}
@media only screen and (max-width:1200px){
.case td , .case th { font-size: 13px; }
}
@media only screen and (max-width:580px){
.case td , .case th {
	width:100%;
	display:block;
	padding:10px;
}
}

.flow {	position: relative; }
.flow::before {
	content: "";
	position: absolute;
	top: 50%;
	right: -35px;
	margin-top: -12px;
	border: 13px solid transparent;
	border-left: 13px solid #f9c12f;
	z-index: 2;
	transform: translateY(-50%);
}

/*----------------------------------
  section 4
------------------------------------*/

.table-wrap { overflow-x: scroll; }
table.item {
	position: relative;
	margin:0 auto;
	width:100%;
	border-collapse:separate;
	border-spacing:4px;
	z-index: 1;
}
.item th {
	font-size: 14px;
/*	letter-spacing: 0.05em!important;*/
    padding:15px 5px;
    text-align:center;
	color: #333;
	font-weight: 600;
}
.item td {
	font-size: 14px;
	color: #333; 
	padding:15px 5px;
	font-weight: 500;
    text-align:center;
}
@media (max-width:1200px){
.item th , .item td { font-size: 12px; }
}
@media (max-width:580px){
table.item {
	margin:0 auto;
	width:991px;
	empty-cells:show;
}
}

/*----------------------------------
  section 5 ( reserve)
------------------------------------*/

.res {
	padding: 120px 0 80px;
	background: url("../img/top/roof.webp")no-repeat top center / 100%  , #fffbef;
}

@media screen and (max-width:1400px){
.res {
	padding: 80px 0 40px;
	background: url("../img/top/roof.webp")no-repeat top center / 150%  ,  #fffbef;
}
}
@media screen and (max-width:580px){
.res { background:  url("../img/top/roof.webp")no-repeat top center / 300%  , #fffbef; }
}

/*----------------------------------
  section 7
------------------------------------*/

.supt , .supt2 , .supt3 {
	position: relative;
	display: inline-block;
	padding: 0 45px;
	font-weight: 700;
}
.supt:before , .supt:after , .supt2:before , .supt2:after , .supt3:before , .supt3:after {
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 44px;
	height: 4px;
}
.supt:before , .supt2:before , .supt3:before {
	left:0;
	-webkit-transform: rotate(60deg);
	transform: rotate(60deg);
}
.supt:after , .supt2:after , .supt3:after {
	right: 0;
	-webkit-transform: rotate(-60deg);
	transform: rotate(-60deg);
}
.supt:before , .supt:after { background-color: #76d5cd; }
.supt2:before , .supt2:after { background-color: #f9c12f; }
.supt3:before , .supt3:after { background-color: #ffaa97; }

/*----------------------------------
  section 14
------------------------------------*/

.flitem {
	width: calc(100% / 5);
	box-sizing: border-box;
	padding: 0 10px;
	height: 100%;
	margin: 0 auto;
}
@media only screen and (max-width: 1200px) {
.flitem { width: calc(100% / 2); padding: 10px 0 ; height: auto; }
}
@media only screen and (max-width: 580px) {
.flitem { width: calc(100% / 1); }
}

.flow-box {
	background-color: #fff;
	padding: 15px;
	width: 100%;
	border-radius: 20px;
}
@media only screen and (max-width: 1400px) {
.flow-box p { font-size: 13px; }
}

.flow-bor { border: 6px solid #76d5cd ; }

/*----------------------------------
  section 16
------------------------------------*/

table.price {
	margin:0 auto;
	width:100%;
    border-collapse:separate;
    border-spacing:5px;
    empty-cells:show;
}
.price th {
	font-size: 15px;
	letter-spacing: 0.0625em;
    padding:1em;
	color: #fff;
	font-weight: 600;
	text-align: center;
	line-height: 1.3;
}
.price td {
	font-size: 14px;
	color: #333; 
	padding: 1em;
	font-weight: 500;
	text-align: right;
	letter-spacing: 0.0625em;
}
@media screen and (max-width:1200px){
.price th  ,.price td {	font-size: 13px; }
}
@media screen and (max-width:580px){
.price th , .price td {	width: 100%; display: block; }
.price td { text-align: center; }
}

table.com {
	margin:0 auto;
	width:100%;
    border-collapse:separate;
    border-spacing:5px;
    empty-cells:show;
}
.com th {
	font-size: 15px;
	letter-spacing: 0.0625em;
    padding:1em;
	color: #fff;
	font-weight: 600;
	line-height: 1.3;
	text-align: center;
}
.com td {
	font-size: 14px;
	color: #333; 
	padding: 1em;
	font-weight: 500;
	letter-spacing: 0.0625em;
}
@media screen and (max-width:1200px){
.com th , .com td { font-size: 13px; }
}
@media screen and (max-width:580px){
.com th , .com td {	width: 100%; display: block; padding: .6em; }	
}

/*----------------------------------
  section 24
------------------------------------*/

.doctor { background: linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0.75) 100%) , url("../img/top/docbg.webp") no-repeat left top / cover ; }

@media screen and (max-width:480px){
.doctor { background: linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0.75) 100%) , url("../img/top/docbg_sp.webp") no-repeat center top / contain ; }
}

/*----------------------------------
  section 25
------------------------------------*/

.ponum {
	position: absolute;
	width: 100%;
	top: -50px;
	left: 0;
	text-align: center;
	font-family: 'Reem Kufi', sans-serif;
	font-weight: 700;
	text-shadow: 2px 2px 0 #FFF , -2px -2px 0 #FFF , -2px 2px 0 #FFF , 2px -2px 0 #FFF , 0px 2px 0 #FFF ,  0 -2px 0 #FFF , -2px 0 0 #FFF , 2px 0 0 #FFF ;
	font-size: 3.4375rem;
	z-index: 1;
}

.ponum span {
	font-size: 3.75rem;
	margin-left: 0.625rem;
}

@media (max-width:1400px){
.ponum { font-size: 2.5rem; top: -35px; }
.ponum span { font-size: 2.75rem; }
}

.radius-t-300 {	border-radius: 300px 300px 0 0 ; }

/*----------------------------------
  section 26 ( infinit slide )
------------------------------------*/

.infiniteslide { 
	position: relative;
	overflow: clip;
    width: 100%;
	padding: 60px 0 60px ;
	background-image: repeating-linear-gradient(270deg, #fffced, #fffced 16px, #ffffff 16px, #ffffff 32px);
}
.infiniteslide::before {
	position: absolute;
	content: "";
	width: 100%;
	height: 50%;
	bottom: 0;
	left: 0;
	background: #fff ;
}
.infiniteslide ul {
	position: relative;
	z-index: 1;
}

@media screen and (max-width:1400px){
.infiniteslide { padding: 20px 0 ; }
}

.infiniteslide ul {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    width: max-content;
    animation: infinity-loop 50s linear infinite; 
}
.infiniteslide ul li {
    width: 320px; /* 画像の幅を変えたら下の移動距離も変える */
    flex-shrink: 0;
}

.infiniteslide img {
    width: 100%;
    display: block;
}

@keyframes infinity-loop {
0% { transform: translateX(0); }
100% { transform: translateX(-3200px); /* 画像の幅 × 枚数分 = -px */ }
}

/*----------------------------------
  section 27 ( footer )
------------------------------------*/

.time {
	width: 100%;
	margin: 0 auto 10px;
}
.time th {
	padding:10px 4px;
	word-break: break-all;
	font-weight: 500!important;
	text-align: center;
	white-space: nowrap;
	font-size: 16px!important;
	color:#fff;
	background: #f9c12f;
	font-family: 'Zen Maru Gothic', sans-serif;
}
.time td {
	padding:10px 4px;
	word-break: break-all;
	font-weight: 700!important;
	text-align: center;
	font-size: 16px!important;
	border-bottom: 1px solid #f9c12f;
	color: #4b4b4b;
	background: #ffffff;
}

@media screen and (max-width:1024px){
.time td { font-size: 14px!important; }
.time th { font-size: 14px!important; }
}

/* footer sp
------------------------------ */

.foot-d { display: inherit!important; }
@media (min-width: 1199px) {
.foot-d { display: none!important; }
}

#footel {
	position: relative;
	margin:0;
	width:100%;
	font-weight:normal;
	background: #63b3aa;
	z-index: 999!important;
}
@media screen and (max-width:1200px){
#footel {
	position: fixed;
    bottom:0;
	padding:0;
	background-color: rgba(0,0,0,0);
}
}

.margin-cus { margin: 0 0 -3px; }
.margin-cus2 { margin: 0 0 -7px; }

/* back-top
------------------------------ */

.back-top {
	position: fixed;
	z-index: 9999;
	right: 1.25rem;
	bottom: 5rem;
	display: block;
	width: 3rem;
	height: 3rem;
	background: #76d5cd;
	text-align: center;
	transition-duration: 300ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
	border-radius: 50%;
}

.back-top:before {
	display: block;
	font-size: 0.95rem;
	font-weight: 900;
	font-style: normal;
	font-family: themify;
	color: #fff!important;
	line-height: 3rem;
	content: "\e627";
	transition-duration: 300ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
	text-align: center;
}

.back-top:hover { background: #bbb; }
.back-top:hover:before { color: #fff; }
.back-top:focus , .back-top:hover { text-decoration: none; }

@media (max-width: 480px) {
.back-top {	bottom: 70px; }
.back-top:before {
	position: absolute;
	display: block;
	font-size: 0.75rem;
	font-style: normal;
	font-family: themify;
	color: #fff;
	line-height: 0;
	content: "\e627";
	transition-duration: 300ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
	top:50%;
	left:50%;
	transform: translate(-50%,-50%);
}
}

/*----------------------------------
  st
------------------------------------*/

.st {
	position: relative;
	overflow: hidden;
	padding: 25px 0 ;
}
.st::before {
	content: '';
	position: absolute;
	top: -10px ;
	left: 0 ;
	width: 100%;
	height: 100%;
	border-bottom: 4px dotted #fff;
	z-index: 1;
	pointer-events: none;
}
.st::after {
	content: '';
	position: absolute;
	top: 10px ;
	left: 0 ;
	width: 100%;
	height: 100%;
	border-top: 4px dotted #fff;
	z-index: 1;
	pointer-events: none;
}

.st2 , .st2-2 , .st2-2sp , .st2-3 { 
	position: relative; 
	display: inline; 
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 600;
	padding: 0 20px;
	letter-spacing: .0625em;
	z-index: 1;
}

.st2::before , .st2-2::before , .st2-2sp::before , .st2-3::before {
	position: absolute;
	content: "";
	width: 90vw;
	height: 3px;
	top: calc(50% - 4px); /* 中央から上へ 4px 移動（線自体の太さなどを考慮） */
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}
.st2::after , .st2-2::after , .st2-2sp::after , .st2-3::after {
	position: absolute;
	content: "";
	width: 90vw;
	height: 3px;
	top: calc(50% + 5px); /* 中央から下へ 5px 移動（間隔8px ＋ 線幅の調整） */
	left: 50%; 
	transform: translateX(-50%);
	z-index: -1;
}

.st2::before , .st2::after { background: #76d5cd; }
.st2-2::before , .st2-2::after { background: #f9c12f; }
.st2-2sp::before , .st2-2sp::after { background: #f9c12f; }
.s-3t2::before , .st2-3::after { background: #ffaa97; }

@media screen and (max-width:580px){
.st2-2sp { padding: 0 ; }
.st2-2sp::before , .st2-2sp::after { width: 90vw; left: 0; transform: translateX(-30%);}
}

.st2 span , .st2-2 span , .st2-2sp span , .st2-3 span {
	position: absolute;
	width: 100%;
	top: -60px;
	left: 0;
	font-family: 'Reem Kufi', sans-serif;
	letter-spacing: 0em;
	text-align: center;
}
@media screen and (max-width:1200px){
.st2 span , .st2-2 span ,  .st2-3 span { top: -35px; }
.st2-2sp span { top: -30px; }	
}
@media screen and (max-width:580px){
.st2-2sp span { top: -25px; left: -20px; }	
}


.st3 {
    position: relative;
    text-align: center;
    color: #fff;
	padding:12px;
	background: #ccc;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 600;
	width: 100%;
}

.st3::before {
	position: absolute;
	content: "";
	width: calc(100% - 10px);
	height: calc(100% - 10px);
	border: #fff dashed 2px;
	top: 0;
	bottom:0;
	right: 0;
	left: 0;
	margin:auto ;
}


.st4 , .st4-2 {
	position: relative;
    padding-bottom: .7rem;
    background-repeat: no-repeat;
    background-size: 100% 0.5rem;
    background-position: bottom;
    font-weight: bold;
	line-height: 2;
}
.st4 { background-image: repeating-linear-gradient(45deg, transparent 0 3px, #76d5cd 3px 6px); }
.st4-2 { background-image: repeating-linear-gradient(45deg, transparent 0 3px, #f9c12f 3px 6px); }


.st5,.st5-2,.st5-3 {
	position: relative;
	padding: 5px 4px 3px 13%;
	line-height: 1.5!important;
	z-index: 1;
	font-weight: 600;
	font-family: 'Zen Kaku Gothic New', sans-serif;
}
.st5:after,.st5-2:after,.st5-3:after {
	position: absolute;
	content: attr(data-en);
	width: 10%;
	top: 0;
	bottom: 0;
	left: 0;
	align-content: center;
	height: calc(100% + 4px);
	color: #fff;
	z-index: -1;
	font-family: 'Reem Kufi', sans-serif;
	font-weight: 500;
	font-size: 24px;
	text-align: center;
}
.st5 { border-bottom: 4px solid #76d5cd; }
.st5-2 { border-bottom: 4px solid #f9c12f; }
.st5-3 { border-bottom: 4px solid #ffaa97; }

.st5:after { background: #76d5cd; }
.st5-2:after { background: #f9c12f; }
.st5-3:after { background: #ffaa97; }

@media only screen and (max-width:1200px){
.st5,.st5-2,.st5-3 { padding: 5px 4px 3px 18%; }
.st5:after,.st5-2:after,.st5-3:after { width: 15%; }
}
@media only screen and (max-width:580px){
.st5,.st5-2,.st763 { padding: 5px 4px 3px 13%; }
.st5:after,.st5-2:after,.st5-3:after { width: 12%; }
}

/*----------------------------------
  stf 
------------------------------------*/

.stf {
    position: relative;
    color: #fff;
    text-align: center;
    padding: 10px;
	border-radius: 10px;
	letter-spacing: 0.1em;
	font-weight: bold;
	margin-bottom: 1em;
}
.stf::before{
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 1rem 0.8rem 1rem 0.8rem;
	position: absolute;
	bottom:-26px;
	left: 0;
	right: 0;
	margin: 0 auto;
	z-index: 2;
}
.stfc1 { background-color: #76d5cd; }
.stfc1::before { border-color:  #76d5cd transparent transparent transparent; }
.stfc2 { background-color: #f9c12f; }
.stfc2::before { border-color:  #f9c12f transparent transparent transparent; }
.stfc3 { background-color: #ffaa97; }
.stfc3::before { border-color:  #ffaa97 transparent transparent transparent; }
.stfc4 { background-color: #fff; }
.stfc4::before { border-color:  #fff transparent transparent transparent; }
.stfc5 { background-color: #E2F6F4; }
.stfc5::before { border-color:  #E2F6F4 transparent transparent transparent; }
.stfc6 { background-color: #FCF0CE; }
.stfc6::before { border-color:  #FCF0CE transparent transparent transparent; }

/*---------------------------------- 
  other
------------------------------------*/

.apb {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin: 0 auto;
  padding: 1.2em;
  color: #fff;
  font-weight: 700;
  transition: 0.3s;
  border-radius: 10px;
}
.apb::before {
  content: '';
  position: absolute;
  top: 0.4em;
  left: 0.4em;
  width: calc(100% - 0.8em);
  height: calc(100% - 0.8em);
  border: 4px dotted #fff;
  transition: 0.2s;
  border-radius: 10px;
}
.apb:hover::before {
  top: 0.5em;
  left: 0.5em;
  width: calc(100% - 1.2em);
  height: calc(100% - 1.2em);
}
.apb:hover {color: #fff;}

.ap1 .apb  {background-color: #f9c12f;}
.ap2 .apb  {background-color: #76d5cd;}
.ap3 .apb  {background-color: #71bca8;}



ul.flowrec {
	display: flex;
	margin: 0!important;
	padding: 0!important;
	list-style: none;
	justify-content: space-between;
}
.flowrec li {
	width: calc(25% - 20px);
	padding: 1.5em;
	background: #fff;
	border-radius: 20px;
	box-sizing: border-box;
	position: relative;
	font-size: 1rem;
	font-family: 'Zen Maru Gothic', sans-serif;
	color: #333333;
	font-weight: 500;
}
.flowrec li::before {
  content: "";
  position: absolute;
  top: 50%;
  right: -24px;
  margin-top: -12px;
  border: 12px solid transparent;
  border-left: 12px solid #fff;
  z-index: 2;
}
.flowrec li:last-child::before { display: none; }

@media screen and (max-width: 991px) {
ul.flowrec { flex-direction: column; }
.flowrec li {
	width: 100%;
	padding: 1em;
	border: solid 3px #fff;
	margin-bottom: 2.5em;
}
.flowrec li::before {
	top: auto;
	right: auto;
	margin-top: auto;	
	bottom: -24px;
	left: 50%;
	margin-left: -15px;
	border: 10px solid transparent;
	border-top: 12px solid #FFF;
}
}


.List-Item-Content {
	position: relative;
	margin-left: auto;
	margin-right: auto;
	align-items: center;
	z-index: 1;
	font-weight: 600;
}
@media screen and (max-width: 580px) {
.List-Item-Content { flex-wrap: wrap; }
}

.List-Item-Content .col-2 {	position: relative; }
.List-Item-Content .col-2::before {
	content: "";
	position: absolute;
	top: 50%!important;
	left: calc(50% - 1px);
	transform: translate(-50%,-50%);
	width: 2px;
	height: 100%;
	z-index: -1;
}
.List-Item-Content.fl1 .col-2::before { background: #76d5cd; }
.List-Item-Content.fl2 .col-2::before { background: #76d5cd; }
.List-Item-Content.fl3 .col-2::before { background: #76d5cd; }
.List-Item-Content.fl4 .col-2::before { background: #76d5cd; }
.List-Item-Content.fl5 .col-2::before { background: #76d5cd; }

.List-Item-Content-Number {
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	border-radius: 50%;
	width: 80px;
	height: 80px;
	line-height: 80px;
	text-align: center;
	color: #fff;
	font-size: 36px;
	background: #76d5cd;
}
@media screen and (max-width: 580px) {
.List-Item-Content-Number {
	width: 50px;
	height: 50px;
	line-height: 50px;
	font-size: 28px;
}
}







