@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
/*
* ----------------------------------------------------------------------------------------
* 01.GENERAL STYLE
* ----------------------------------------------------------------------------------------
*/
body {
color:#555;
font-family: 'Noto Sans JP', sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 26px;
overflow-x:hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  letter-spacing: 0px;
  margin: 0px;
  font-family: 'Noto Sans JP', sans-serif;
  color: #1a2d62;
  font-weight: 400;
}
a {
	font-family: 'Noto Sans JP', sans-serif;
    text-decoration: none;
	color:#1a2d62;
    -webkit-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
}
a:hover {
    color: #FF0004;
    text-decoration: none;
}
a:hover img {
	margin-right: 0;
	margin-bottom: 0;
	opacity: 0.70;
	-moz-opacity: 0.70;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
}
a:focus {
    outline: none;
    text-decoration: none;
}
inout{outline:none;}
p {
  margin-bottom: 0;
}
ul,
li {
    margin: 0;
    padding: 0;
	list-style:none;
}
html.lenis,
html.lenis body {
    height: auto;
}

.lenis.lenis-smooth {
    scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
}

.lenis.lenis-stopped {
    overflow: hidden;
}

.lenis.lenis-smooth iframe {
    pointer-events: none;
}
fieldset {
    border: 0 none;
    margin: 0 auto;
    padding: 0;
}
b, strong {
	font-weight: 600;
}
span{font-family: 'Noto Sans JP', sans-serif;}
.no-padding { padding: 0 }

/*END PRELOADER DESIGN*/
.section-padding {
padding: 80px 0;
}
.section-padding h3 {
margin: 15px 0;
font-size: 16px;
}
.section-padding h4 {
margin: 15px 0;
font-size: 14px;
}
.section-padding h5 {
margin: 15px 0;
font-size: 12px;
}
.section-padding h6 {
margin: 15px 0;
font-size: 10px;
}

/*START SECTION TITLE DESIGN*/
.section-title {
  margin-bottom: 60px;
  position:relative;
  text-align:center;
}
.section-title h4 {
	color: #2c7aff;
	font-weight: 500;
	font-size: 14px;
    margin: 0 0 15px 0;
}
.section-title h2 {
font-size: 40px;
width:60%;
font-weight: 500;
margin:auto;
}
@media only screen and (max-width:960px) { 
.section-title h2 {width:90%;}
}
@media only screen and (max-width:768px) { 
.section-title h2 {font-size:30px;width:90%;}
}
@media only screen and (max-width:480px) { 
.section-title h2 {font-size:20px;width:90%;}
}

.section-title h3 {
width: calc(100% - 10px);
font-size: 30px;
font-weight: 500;
text-align: left;
border: 1px solid #52B4FC;
border-left: 10px solid #52B4FC;
padding: 5px;
padding-top: 8px;
padding-left: 10px;
box-sizing: border-box;
}
@media only screen and (max-width:960px) { 
.section-title h3 {
}
}
@media only screen and (max-width:768px) { 
.section-title h3 {
font-size: 20px;
}
}
@media only screen and (max-width:480px) { 
.section-title h3 {
font-size: 14px;
}
}

.section-title p {
	width: 100%;
	margin: auto;
	font-size: 40px;
	font-weight: 800;
	text-transform: capitalize;
	line-height: 50px;
	color: #1a2d62;
}
@media only screen and (max-width:480px){
.section-title p {width:100%;}
}
.section-title p span {
	background: #FEC961;
	padding: 0 15px;
	border-radius: 30px;
	/* display: block; */
}
h1.section-title-white{color:#fff;}
p.section-title-white{color:#fff;}
.section-title-two{margin-bottom:60px;}
.section-title-two h2 {
	font-weight: 600;
	font-size: 50px;
}
.section-title-two h2 span{color: #2c7aff;}

/*END SECTION TITLE DESIGN*/
/*START SCROLL TO TOP*/
.topcontrol {
	background: #2c7aff;
	border-radius: 30px;
	bottom: 5px;
	-webkit-box-shadow: 0 1px 10px 0 rgba(0, 0, 0, 0.2);
	box-shadow: 0 1px 10px 0 rgba(0, 0, 0, 0.2);
	color: #fff;
	cursor: pointer;
	font-size: 22px;
	height: 50px;
	line-height: 47px;
	opacity: 1;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	position: fixed;
	right: 5px;
	text-align: center;
	-webkit-transition: all 0.2s ease 0s;
	-o-transition: all 0.2s ease 0s;
	transition: all 0.2s ease 0s;
	width: 50px;
}
@media only screen and (max-width:768px) { 
.topcontrol {display:none;}
}
.topcontrol:hover {
    background: #2c7aff;
    color: #fff;
}
/*END SCROLL TO TOP*/
/*START PRELOADER DESIGN*/

.preloaders {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99999;
  transform: translate(-50%, -50%);
  background: #fff;
}
.loader {
  font-size: 48px;
  display: inline-block;
  font-weight: bold;
  color: #1a2d62;
  box-sizing: border-box;
  text-shadow: 0 0 2px #FFF, 0 0 1px #FFF, 0 0 1px #FFF;
  letter-spacing: 2px;
  position: relative;
}
.loader::after {
  content: 'Loading';
  position: absolute;
  left: 0;
  top: 0;
  color: #2c7aff;
  width: 100%;
  height: 100%;
  overflow: hidden;
  box-sizing: border-box;
  animation: animloader 6s linear infinite;
}

@keyframes animloader {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}
 
/*END LOADER*/

::-moz-selection {
	background: #2c7aff;
	color: #fff;
	text-shadow: none;
}
::selection {
	background: #2c7aff;
	color: #fff;
	text-shadow: none;
}
/*BTN START*/
.btn_one {
	background: #2c7aff;
	font-size: 15px;
	padding: 15px 40px;
	color:#fff;
  display: inline-block;
  border-radius:100px;
  font-weight: 700;
   box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.1);
  vertical-align: middle;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.btn_one:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #fec961;
  border-radius: 100px;
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transform-origin: 50% 0;
  transform-origin: 50% 0;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.btn_one:hover, .btn_one:focus, .btn_one:active {
  color: #fff;
  border-radius:100px;
}
.btn_one:hover:before, .btn_one:focus:before, .btn_one:active:before {
  -webkit-transform: scaleY(1);
  transform: scaleY(1);
  border-radius: 100px;
}

@media only screen and (max-width:880px) { 
.btn_one {padding: 10px 20px;}
}
@media only screen and (max-width:480px) { 
.btn_one {padding: 10px 30px;}
}
/*BTN END*/

/*START BTN TWO*/
.cta {
  position: relative;
  margin: auto;
  padding: 18px 22px;
  transition: all 0.2s ease;
}
.cta:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  border-radius: 28px;
  background: rgba(44,122,255,0.5);
  width: 56px;
  height: 56px;
  transition: all 0.3s ease;
}
.cta span {
	position: relative;
	font-size: 15px;
	color: #2c7aff;
	font-weight: 700;
	text-transform: uppercase;
}
.cta span.cta_span_top {
	position: relative;
	font-size: 15px;
	color: #fff;
	font-weight: 700;
	text-transform: uppercase;
}
.cta svg {
  position: relative;
  top: 0;
  margin-left: 10px;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke: #111;
  stroke-width: 2;
  transform: translateX(-5px);
  transition: all 0.3s ease;
}
.cta:hover:before {
  width: 100%;
  background: #2c7aff;
}
.cta:hover svg {
  transform: translateX(0);
}
.cta:active {
  transform: scale(0.96);
}
.cta:hover span{color:#fff;}
.cta:hover svg {
  position: relative;
  top: 0;
  margin-left: 10px;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke: #fff;
  stroke-width: 2;
  transform: translateX(-5px);
  transition: all 0.3s ease;
}
/*END BTN TWO*/
/*START BTN THREE*/
.btn_two {
	color: #1a2d62;
	border: 2px solid #2c7aff;
	padding: 12px 30px;
	font-weight: 600;
	display: inline-block;
	border-radius: 100px;
	font-size: 16px;
	transition: 0.3s;
	background: #fff;
}
.btn_two:hover{
	color: #fff;
	border: 2px solid #2c7aff;
	background:#2c7aff;
}
/*END BTN THREE*/
/*
* ----------------------------------------------------------------------------------------
* 01.END GENERAL STYLE
* ----------------------------------------------------------------------------------------
*/
#hero {
  width: 100%;
  height: 80vh;
  background: url("../images/top/top_main_pict_bg_01.jpg") center center;
  background-size: cover;
  position: relative;
}
.top_header_banner{background: #F9F4F1;}
.top_header_banner2 {
	background: linear-gradient(to left, rgb(228, 242, 254), rgb(255, 238, 254));
}
/*START TOP HEADER DESIGN*/
.logo-contact {
	padding: 5px 0;
	background: #2c7aff;
}
@media only screen and (max-width:992px){
.logo-contact {
display:none;
}
}

.logo-img{}
.logo-img a {
	color: #fff;
	font-size: 40px;
	text-transform: uppercase;
	margin-top: 5px;
	display: inline-block;
}
.single-top-contact {margin-top:6px;}
@media only screen and (max-width:880px) { 
.single-top-contact{margin-bottom:30px;}
}
.single-top-contact i {
	color: #fff;
	float: left;
	margin-right: 15px;
	font-size: 24px;
	margin-bottom: 0px;
}
.single-top-contact h4{
font-size: 15px;
color: #fff;
margin-bottom: 0px;
overflow: hidden;
padding-top: 3px;
}
.single-top-contact h4 a{color: #fff;}
/*TOP SOCIAL PROFILES*/
.top_social_profile ul{
list-style: outside none none;
margin: 0;
padding: 0;
float:right;
}
.top_social_profile ul li{display: inline-block;}
.top_social_profile ul li a {
	/* background:#fff; */
	text-align: center;
	border: 0px;
	text-transform: uppercase;
	-webkit-transition: all 0.3s ease 0s;
	-o-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
	margin-right: 5px;
	font-size: 16px;
	color: #fff;
	display: block;
	width: 35px;
	height: 35px;
	line-height: 35px;
	border-radius: 30px;
}
@media only screen and (max-width:768px) { 
.top_social_profile ul li a{margin-right:10px;margin-bottom:10px;}
}
.top_social_profile ul li a:hover{
color:#fff;
}
.top_f_facebook:hover{background:#3B5998;}
.top_f_twitter:hover{background:#1A90D9;}
.top_f_instagram:hover{background:#FF5252;}
.top_f_youtube:hover{background:#0e76a8;}
/*END LOGO WITH CONTACT*/
/*
* ----------------------------------------------------------------------------------------
* 02.START BOOTSTRAP NAVIGATION OVERRIDES
* ----------------------------------------------------------------------------------------
*/
.col-20 {
	width: 15%;
}
.col-25 {
	width: 20%;
}
.col-60 {
	width: 50%;
}
.col-30 {
	width: 30%;
}
@media only screen and (max-width:1200px){
.col-25 {
	width: 35%;
}
.col-60 {
	width: 65%;
}
}

.site-logo {
	width: 250px;
}
.site-logo a {
	display: block;
}
.site-logo a:hover,.footer_name a:hover {
color: #FF0004;
}
.site-logo img{
	max-width: 100%;
}
#navigation {
	background: #fff;
	padding: 15px 0;
}
.navigation2{
	border-bottom: 0px !important;
	background:#fff;
}
@media only screen and (max-width:960px){
#navigation{border-bottom: 0px;}
}
.navbar-fixed {
    z-index: 999;
    position: fixed;
    opacity: .98;
    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=98)";
    width: 100%;
    top: 0;
    -webkit-animation: fadeInDown 800ms;
    animation: fadeInDown 800ms;
    -webkit-backface-visibility: hidden;
    border-radius: 0px;
    background: #fff !important;
	box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.03);
}
.navbar-fixed  .menu_ex_bg {
	background: #fff;
	padding: 20px 0px;
	box-shadow: none;
}
@media only screen and (max-width:960px){
#navigation.navbar-fixed{display:none;}
}
#main-menu{
}
#main-menu ul{
	list-style-type: none;
}

#main-menu ul li {
	display: inline-block;
	padding: 0 9px;
	position: relative;
	line-height: 60px;
}
@media only screen and (max-width:1140px){
#main-menu ul li {padding: 0 9px;}
}
#main-menu ul li a {
	position: relative;
	text-transform: capitalize;
	color: #1a2d62;
	font-weight: 600;
	transition: .5s;
	font-size: 16px;
}
#main-menu ul li a:hover,
#main-menu ul li a:focus{
	color: #2c7aff;
}
#navigation .header-btn {
	padding-right:20px;
}





/*-------------------------------
# Dropdwon menu 
--------------------------------*/

#navigation #main-menu ul li ul ,
#navigation #main-menu ul li ul li ul {	
	background: #fff;
	-webkit-box-shadow: 0 0 10px 3px rgba(0,0,0,.05);
	box-shadow: 0 0 10px 3px rgba(0,0,0,.05);
	left: -55px;
	list-style: outside none none;
	margin:  0;
	opacity: 0;
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	padding:0px;
	position: absolute;
	text-align: left;
	top: 120%;
	-webkit-transition:all 0.5s ease 0s;
	-o-transition: all 0.5s ease 0s;
	transition: all 0.5s ease 0s;
	visibility: hidden;
	width: 210px;
	z-index: 999;
	border-radius: 0px;
	border-top: 2px solid #2c7aff;
}
#navigation #main-menu .menu-item-has-children {
	position: relative;
	margin-right: 20px;
}
#navigation #main-menu .menu-item-has-children::after {
	position: absolute;
	content: "\f107";
	font-family:"Font Awesome 7 Free";
	margin-top: 0px;
	margin-left: 0;
	right: -10px;
	top: 0px;
	color: #0b104a;
	font-size: 13px;
	font-weight: 600;
}
#navigation #main-menu ul li  ul li{
	position: relative;
}
#navigation #main-menu ul li ul li ul{
	top: 0;
	right: auto;
	left: 205px;
}
#navigation.navbar-fixed #main-menu ul li li a{
	color: #1a2d62;
} 
#navigation #main-menu ul li:hover ul,
#navigation #main-menu ul li ul li:hover > ul{
	opacity: 1;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; 
	visibility: visible;
	top: 100%;
}
#navigation #main-menu ul li ul li {display: block; margin: 0; padding: 0;}

#navigation #main-menu ul li ul li a {
	display: block;
	font-size: 16px;
	line-height: 30px;
	font-weight: 600;
	padding: 10px 30px;
	position: relative;	
	transition: all 0.3s ease 0s !important;
	visibility: inherit !important;
	opacity: inherit !important;
	text-transform: capitalize;
	border-bottom: 1px solid #e8e5e5;
}

#navigation #main-menu ul li ul li a:hover{
	color: #1a2d62;
	background-color: #fafafa;
	text-decoration: none;
}
@media only screen and (max-width: 991px){
	
.col-60{
display: none!important;
}

#sm_menu_ham {
display: block;
top: 40px;
right: 11%;
position: absolute;
}
.sidebar{
padding-top: 100px;
}
}

@media only screen and (max-width: 767px){
.spt-130 {
padding-top: 90px;
}	
#mobile_menu{
display: block;
width: 100%;

}
}
@media only screen and (max-width: 575px){
#navigation {padding: 30px 20px;}
#sm_menu_ham {top: 60px;}
}
.header-btn{
	display: inline-block;
	font-weight: 600;
	font-size: 18px;
	color: #0b104a;
	transition: .5s;	
}
.header-btn:hover,
.header-btn:focus{
	color: #2c7aff;
	
}


.home_lc {
	display: inline-block;
	margin-top:15px;
}
.hlc {
	position: relative;
	margin-right: 30px;
	display: inline-block;
}
.home_lc a i {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #1a2d62;
	font-size: 26px;
}
.home_lc a .gactive {
	width: 20px;
	height: 20px;
	background: #2c7aff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 14px;
	position: absolute;
	top: -10px;
	right: -11px;
}
.call_to_action{
float: right;
margin-top:0px;}
#navigation.navbar-fixed .call_to_action{margin-top:5px;}
.call_to_action a {}
.select_cat select {
	width: 50%;
	float: left;
	margin-top: 15px;
	padding: 10px;
	font-weight: 700;
	font-size: 15px;
	border: 1px solid #ededed;
}
.select_cat select option{
	padding: 10px;
}
.select_cat select:focus{
box-shadow:none;
}
/*
* ----------------------------------------------------------------------------------------
* 02.END BOOTSTRAP NAVIGATION OVERRIDES
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 03. START HOMEPAGE CSS STYLE
* ----------------------------------------------------------------------------------------
*/
.top_header_banner {
	position: relative;
	/*background: url(../images/banner/bg-scaled.jpg);*/
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
.home_bg {
	height: 900px;
	position: relative;
}
.home_bg2{
height:700px;
position:relative;
}

.home_content {
padding-top:150px;
position:relative;
}
@media only screen and (max-width:960px) { 
.home_content {
padding-top:150px;
}
}
@media only screen and (max-width:768px) { 
.home_content {
padding-left:30px;
padding-right: 20px;
}
}

.hc_pt{
padding-top:150px;
position:relative;
}

.home_content h1 {
	font-size: 60px;
}
.home_content h1 {
	font-size: 40px;
	font-weight: 500;
	line-height: 90px;
	margin-bottom: 20px;
}
 @media only screen and (max-width:960px){
.home_content h1 {
font-size: 40px;
line-height:70px;
}
}

.home_content h1 span{
color:#2eca7f;
}

.home_content p {
	margin-bottom: 40px;
	font-weight: 400;
	font-size: 18px;
    color: #fff;
}

.home_me_img{	
position: absolute;
bottom: 0;}
.home_me_img img{position:relative;}
.home_img_two{padding-top:150px;padding-left:50px;}

@media only screen and (max-width:480px) { 
.home_me_img{display:none;}
.home_img_two{display:none;}
}

.home_ps {
	background: #fff;
	width: 200px;
	padding: 20px;
	border-radius:0px;
	box-shadow: 0px 0 30px rgba(1, 41, 112, 0.08);
	position: absolute;
	top: 50%;
}
.home_ps img {
	width: 40px;
	float: left;
	margin-right: 10px;
}
.home_ps h2 {
	overflow: hidden;
	font-weight: 800;
}
.home_ps span{font-size: 14px;}

.home_ps2 {
	background: #fff;
	width: 200px;
	padding: 20px;
	border-radius:0px;
		position: absolute;
	top: 10%;
	right:0;
	box-shadow: 0px 0 30px rgba(1, 41, 112, 0.08);
}
.home_ps2 img {
	width: 40px;
	float: left;
	margin-right: 10px;
}
.home_ps2 h2 {
	overflow: hidden;
	font-weight: 800;
}
.home_ps2 span{font-size: 14px;}

/*HOME TWO BANNER CSS*/
.hero-text2{position:relative;}
.hero-text2 h1 span{color: #2c7aff;}
.hero-text2 h1 {
	font-size: 66px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 76px;
	padding-top: 250px;
	margin-bottom: 20px;
}
@media only screen and (max-width:960px){
.hero-text2 h1 {padding-top:150px;font-size:64px;line-height:74px;}
}
@media only screen and (max-width:768px){
.hero-text2 h1 {padding-top:150px;font-size: 64px;line-height: 74px;}
}
@media only screen and (max-width:480px){
.hero-text2 h1 {padding-top:250px;font-size: 34px;line-height:44px;}
}
.hero-text2 p {
	width:80%;
	font-weight:500;
	margin-bottom: 30px;
}
.hero-text-img2 {
	position: absolute;
	bottom: 0;
}
.hero-text-img2{}
@media only screen and (max-width:960px) { 
.hero-text-img2 img{display:none;}
}
/*SUBSCRIBE FIELD*/
.banner_subs2 {
	display: block;
	position: relative;
	margin-top: 30px;
}
@media only screen and (max-width:480px){
.banner_subs2 {display: none;}
}
.banner_subs2 button{border:none;}
.home_si2 {
	background: #fff;
	border-radius: 0px;
	color: #0b104a;
	display: block;
	height: 70px;
	letter-spacing: 1px;
	margin: 0;
	padding: 0 60px 0 20px;
	text-transform: capitalize;
	width: 100%;
}
.home_si2:focus{
outline:0 none;
box-shadow:none;
border: 1px solid #2c7aff!important;
}
.home_sb2 button {
	background-color: #2c7aff;
	border-radius: 0px;
	color: #fff;
	cursor: pointer;
	display: block;
	font-size: 20px;
	height: 60px;
	position: absolute;
	right: 5px;
	top: 5px;
	padding: 0 20px;
	width: 25%;
	transition: 0.3s;
}
.home_sb2 button:hover{
	color:#fff;
	background:#2c7aff;
}
.home_tag {
	margin-top: 30px;
	position: relative;
}
.home_tag span{color: #1a2d62;}
.home_tag a {
	color: #1a2d62;
	font-weight: 600;
	padding: 0 5px;
	text-decoration: underline;
	transition: 0.3s;
}
.home_tag a:hover{color: #2c7aff;}
/*END SUBSCRIBE FIELD*/
/*
* ----------------------------------------------------------------------------------------
* 03. END HOMEPAGE CSS STYLE
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 04. START TOP PROMO STYLE
* ----------------------------------------------------------------------------------------
*/
.tp_feature_p3{padding-bottom:50px;}
.tp_feature{
padding-bottom:50px;
}
.single_tp {
background: #E0EAFA;
	padding: 40px;
	margin-bottom: 30px;
	position: relative;
	-webkit-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
	box-shadow: 0px 0px 150px 0px rgba(78, 67, 250, 0.1);
	border-radius: 10px;
}
@media only screen and (max-width:880px){
.single_tp {margin-bottom:30px;}
}
.single_tp h3 {
	font-size: 20px;
	font-weight: 800;
	margin-bottom:20px;
	overflow: hidden;
}
.single_tp i {
	font-size: 36px;
	margin-bottom: 20px;
	color: #2c7aff;
}
.single_tp p {
	margin-bottom: 40px;
}
.single_tp a {
	color: #1a2d62;
	transition: 0.3s;
}
.single_tp > a > i{}
.st_one{margin-top:20px;background: #ECEBFD;}
.st_two{margin-top:-20px;background:#edf4f3;}
.st_three{margin-top:20px;background: #FCFBF7;}
.single_tp:hover{
background:#fff;
box-shadow:0px 60px 60px rgba(0,0,0,0.1);
position:relative;
z-index:100;
transform: translate(0, -10px);
}
@media only screen and (max-width:480px) { 
.st_one{margin-top:0px;}
.st_two{margin-top:0px;}
.st_three{margin-top:0px;}
}
/*
* ----------------------------------------------------------------------------------------
* 04. END TOP PROMO CSS STYLE
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 04. START ABOUT CSS STYLE
* ----------------------------------------------------------------------------------------
*/
.ab_one {
	padding-bottom: 50px;
}
.ab_content{margin-bottom:30px;position:relative;}
.ab_content h2 {
	margin-bottom: 20px;
	line-height: 48px;
	font-size: 30px;
	font-weight: 600;
}
@media only screen and (max-width:480px) { 
.ab_content h2 {
font-size: 30px;
line-height: 52px;
}
}
.ab_content h2 span {}
.ab_content p{margin-bottom: 30px;}
.ab_content p{margin-bottom: 30px;}
.ab_content ul {margin-bottom:50px;}
.ab_content ul li {
	color: #1a2d62;
	font-weight: 600;
	line-height: 40px;
}
.abmv {
	margin-bottom:30px;
	overflow: hidden;
}
@media only screen and (max-width:767px) { 
.abmv {
	width: 100%;
	float: none;
	margin: 0;
	margin-bottom:20px;
}
}
.abmv i {
	margin-bottom: 20px;
	float: left;
	margin-right: 20px;
	background: rgba(44,122,255,0.1);
	width: 80px;
	height: 80px;
	text-align: center;
	line-height: 80px;
	font-size: 30px;
	border-radius: 100px;
	color: #2c7aff;
}
.abmv h4 {
	font-weight: 500;
	overflow: hidden;
	margin-bottom: 10px;
	font-size: 20px;
}
.abmv p{overflow:hidden;width: 70%;}
.cta_two{margin-top: 60px;}
.ss_btn {
	margin-top: 50px;
}

.ab_img{position:relative;}
.ab_img img {}
 @media only screen and (max-width:880px){
.ab_img img {width: 100%;}
.ab_img{
margin-top:0px;
margin-bottom:60px;
}
}
.wc_year{text-align: center;}
.wc_year h3 {
	background: #fff;
	top: 70%;
	position: absolute;
	border-radius: 5px;
	padding: 30px;
	border: 1px solid #eee;
	font-size: 20px;
	font-weight: 600;
	box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.08);
}
.wc_year h3 span{color:#2c7aff;font-size: 30px;}
/*
* ----------------------------------------------------------------------------------------
* 05. END ABOUT CSS STYLE
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 06. START COUNTER CSS STYLE
* ----------------------------------------------------------------------------------------
*/
.count_area {
	position:relative;
	margin-top: -60px;
	padding-bottom:80px;
}

@media only screen and (max-width:960px) { 
.count_area {margin-top: 80px;}
}
.single-counter {
	background: #fff;
	border-radius: 0px;
	padding: 20px;
	box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.04);
}
@media only screen and (max-width:960px) { 
.single-counter {
margin-bottom:30px;
}
}
.single-counter span {
	width: 50px;
	float: left;
	height: 50px;
	line-height: 50px;
	border-radius: 30px;
	font-size: 20px;
	text-align: center;
	margin-right: 15px;
	color:#1a2d62;
    transition: 0.5s;
}
.single-counter a span:hover {
	width: 60px;
	height:60px;
}
.single-counter h2 {
overflow: hidden;
font-weight: 600;
margin-bottom: 0;
font-size: 16px;
}
.single-counter p{
overflow: hidden;
font-size: 14px;
}
.count_one{background:#e1f8ed;}
.count_two{background:#ECEBFD;}
.count_three{background:#ecf7ff;}
.count_four{background:#ffecec;}

.sc_one{color:#F26B65;background:#FFEFEE;}
.sc_two{color:#2D36BB;background:#ECEDFF;}
.sc_three{color:#57216C;background:#fff;}
.sc_four{color:#448BB7;background:#1a2d62;}

/*
* ----------------------------------------------------------------------------------------
* 06. END COUNTER CSS STYLE
* ----------------------------------------------------------------------------------------
*/

/*
* ----------------------------------------------------------------------------------------
* 07.START FEATURES DESIGN
* ----------------------------------------------------------------------------------------
*/
.marketing_content_area {
	padding-bottom: 50px;
	
}
.single_feature_one {
	background:#fff;
	margin-bottom: 30px;
	padding:40px;
	border-radius:20px;
	text-align: center;
	margin-bottom:30px;
	position: relative;
	border:1px solid #ddd;
	z-index: 2;	
		-webkit-transition: 0.3s;
	-webkit-transition: 0.2s;
	-o-transition: 0.3s;
	transition: 0.3s;
}
.sf_top{overflow: hidden;}
.sf_top  i{margin-bottom:30px;font-size: 60px;color: #2c7aff;}
.single_feature_one h2 a {
	font-size: 26px;
	color: #1a2d62;
	margin-bottom: 15px;
	display: block;
	text-transform: capitalize;
	overflow: hidden;
	line-height: 36px;
	font-weight: 600;
	transition: 0.3s;
}
.single_feature_one  p {
margin-bottom:30px;
text-align: left;
}
.single_feature_one:hover{
	border:1px solid #2c7aff;
}
.ss_one{background:rgba(44,122,255,0.1);}
.single_feature_one:hover .ss_one{background:#fff;}
.ss_two{background:#ECFFFC}
.ss_three{background:#E8F5FF}
.ss_four{background:#E3F9F6}
.ss_five{background:#FFF6EB}
.ss_six{background:#E8FFEA}
.ss_seven{background:#EEE8FF}
.ss_eight{background:#FFE8E8}
.single_feature_one a {
	color: #1a2d62;
	display: inline-block;
	transition: 0.3s;
	text-transform: uppercase;
	font-weight: 500;
}
/*
* ----------------------------------------------------------------------------------------
* 07.END FEATURES DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 08.START COURSE DESIGN
* ----------------------------------------------------------------------------------------
*/
.course-item {
    background: #fff;
    border-radius: 10px;
    position: relative;
    overflow: hidden;
    transition: .5s;
    box-shadow: 0px 0px 150px 0px rgba(78, 67, 250, 0.1);
    margin: 20px 0 25px;
    display: block !important; 
}
.course-inner {
    width: 100%;
}
.course-img {
    position: relative;
    width: 100%;
    /* 720:484の比率を維持するための設定 (484 / 720 * 100 = 67.22%) */
    aspect-ratio: 720 / 484; 
    background-color: #f0f0f0; /* 背景のグレー */
    border-radius: 10px 10px 0 0;
    overflow: hidden;
}

.course-img img {
    width: 100%;
    height: 100%;
    /* ここが重要：比率を維持したまま、隙間ができる場合は背景が見えるようにする */
    object-fit: contain; 
    vertical-align: middle;
    transition: 0.5s;
}

/* --- 価格タグ --- */
.course-price {
    background: #2c7aff;
    color: #fff;
    padding: 2px 20px;
    display: inline-block;
    position: absolute;
    bottom: 0;
    right: 0;
    font-size: 14px;
    font-weight: 600;
    border-radius: 15px 0 0 0px;
    z-index: 1;
}

/* --- 商品コンテンツエリア --- */
.course-content {
    padding: 15px;
}
.course-content h3 {
    font-size: 18px;
    line-height: 1.4;
    font-weight: bold;
    margin-bottom: 10px;
}
.course-content .small {
    font-size: 12px;
}

/* --- カテゴリー (ハッシュタグ風) --- */
.ccategory {
    margin-bottom: .5rem;
}
.ccategory a {
    display: inline-block;
    padding: 2px 10px;
    color: #1a2d62;
    background: rgba(44, 122, 255, 0.1);
    font-size: 12px;
    margin-right: .5rem;
    margin-bottom: .5rem;
    border-radius: 4px;
    text-decoration: none;
}

/* --- カートフォーム周り --- */
.mfpcart select, 
.mfpcart input[type="number"] {
    width: 100%;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 2px 5px;
}
.mfpcart button {
    background: #2c7aff;
    color: #fff;
    border: none;
    padding: 8px 20px;
    border-radius: 5px;
    font-weight: bold;
    cursor: pointer;
    transition: 0.3s;
}
.mfpcart button:hover {
    background: #1a2d62;
}
.chover_content {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    padding: 20px;
    text-align: center;
    display: block; 
}

/* サイドバー本体: ユーティリティクラスやインラインスタイルをここに集約 */
.custom-sidebar {
    background: #ffffff;
    padding: 24px; /* p-4相当 */
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); /* shadow相当 */
    position: relative;
    z-index: 10;
    border: 1px solid #edf2f7;
}

/* 各ブロックの余白 */
.sidebar-block {
    margin-bottom: 25px;
}
.sidebar-block:last-child {
    margin-bottom: 0;
}

/* 見出し */
.sidebar-title {
    font-size: 17px;
    font-weight: 700;
    color: #1a2d62;
    margin-bottom: 15px;
    padding-left: 12px;
    border-left: 5px solid #2c7aff;
    line-height: 1.3;
}

/* フォーム全体の横幅を親（サイドバー）に固定 */
.search-form {
    width: 100%;
    max-width: 100%; /* 親を絶対に超えない */
    display: block;
}

/* 検索グループ */
.search-input-group {
    display: flex;
    width: 100%;
    box-sizing: border-box;
}

.search-input-group input[type="search"] {
    flex: 1;                /* 余白をすべて使う */
    width: 0;               /* 一旦0にしてflexの計算に任せる（これで溢れなくなります） */
    min-width: 0;           /* ブラウザの最小幅設定を解除 */
    
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 5px 0 0 5px;
    box-sizing: border-box; /* 枠線とパディングを幅に含める */
    outline: none;
}
.search-input-group button {
    flex-shrink: 0;         /* ボタンが潰されないように固定 */
    white-space: nowrap;    /* 文字の折り返し禁止 */
    padding: 10px 15px;
    background: #2c7aff;
    color: #fff;
    border: 1px solid #2c7aff;
    border-radius: 0 5px 5px 0;
    cursor: pointer;
}
.search-input-group button:hover {
    background: #1a2d62;
}

/* セレクトボックス周り */
.filter-control label {
    display: block;
    font-size: 12px;
    color: #718096;
    margin-bottom: 5px;
}
.filter-control select {
    width: 100%;
    padding: 10px;
    font-size: 14px;
    background-color: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    color: #2d3748;
    cursor: pointer;
}

/*START COURSE STYLR TWO*/
.bc_bg_two {
	background: #edf4f7;
}
.course-slide2{
    position:relative;
    background:#fff;
	margin-bottom: 30px;
}
@media only screen and (max-width:480px) { 
.course-slide2 {margin-bottom:30px;}
}
.course-slide2 .course-img2 {
	position: relative;
	overflow: hidden;
	float: left;
	width: 50%;
	margin-right: 30px;
}
@media only screen and (max-width:480px) { 
.course-slide2 .course-img2 {
	float: none;
	width: 100%;
}
}
.course-slide2 .course-img2 img{
    width: 100%;
    height: auto;
}
.co_list {
	margin-top: 30px;
	display: inline-block;
}
.course-slide2 .course-date2{
    position:absolute;
    top:10%;
    left:4%;
}
.course-slide2 .month2 {
	display: inline-block;
	color: #fff;
	font-size: 20px;
	font-weight: 600;
	background: #2c7aff;
	width: 60px;
	height: 60px;
	line-height: 60px;
	text-align: center;
	border-radius: 100px;
}
.course-content2{
    padding:30px;
}
.course-content2 h3 a {
	font-size: 26px;
	font-weight: 500;
	display: block;
	margin: 0 0 15px 0;
	text-transform: capitalize;
	line-height: 36px;
}
.course-content2 h3 a:hover{color:#2c7aff;}
.course-slide2 .course-content2 span i{
color:#2c7aff;
margin-right:8px;
}
.course-slide2 .course-content2 span {
	color: #1a2d62;
	margin-bottom: 5px;
	display: inline-block;
	margin-right: 20px;
}
.course-slide2 .course-content2 span strong{font-weight:700;}
.c_btn2 {
	background: rgba(44,122,255,0.1);
	margin-bottom: 8px;
	display: inline-block;
	border-radius: 5px;
	color: #1a2d62;
	font-weight: 500;
	transition: 0.3s;
	border: 1px solid #eee;
	padding: 5px 20px;
}
.c_btn2:hover{color:#2c7aff;}
.c_btn3 {
	background: #2c7aff;
	color: #fff;
	/* padding: 30px; */
	border-radius: 5%;
	font-weight: 600;
	display: inline-block;
	text-align: center;
	position: absolute;
	top: 46%;
	right: 0;
	font-size: 26px;
	width: 70px;
	height: 80px;
	line-height: 80px;
}
/*END COURSE STYLR TWO*/
/*START COURSE THREE*/
.course-slide3{margin-bottom:30px;position: relative;}
.course-img3{position: relative;}

.co_bg_img {
	position: relative;
	padding: 80px 0;
	text-align: center;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.co_bg_img::before {    
	position: absolute;
    content: "";
    left: 0;
    bottom: 0;
    top: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.4);
}

.co-video-play {
	display: inline-block;
	position:relative;
	
}
.co-video-play i {
	background: rgba(44,122,255,0.5);
	/* border: 2px solid #ffde67; */
	color: #fff;
	width: 80px;
	height: 80px;
	line-height: 80px;
	text-align: center;
	border-radius: 100px;
	/* margin-right: 15px; */
	display: inline-block;
	transition: all 0.3s ease 0s;
	font-size: 30px;
}
.co-video-play:hover i{
background: #2c7aff;
color:#fff;
}
.course-content3{
    padding:30px;
	 box-shadow: 0px 10px 40px rgba(0, 0, 0, 0.06);
	 border:1px solid #ededed;
	 background: #fff;
}
.course-content3 h3 a {
	color: #1a2d62;
	font-size: 24px;
	font-weight: 500;
	display: block;
	margin: 0 0 15px 0;
	text-transform: capitalize;
	line-height: 34px;
}
.course-content3 a {
	margin-right: 30px;
}
.course-content2 h3 a:hover{color:#2c7aff;}
.course-content3 h3 a:hover{color:#2c7aff;}
/*END COURSE THREE*/

/*START SINGLE COURSE SIDEBAR CSS*/
.course_features{}
.course_features h3 {
	font-weight: 800;
	margin-bottom: 20px;
	background: #2c7aff;
	color: #fff;
	text-align: center;
	padding: 20px 10px;
}
.course_features ul{}
.course_features ul li {
	/* font-weight: 600; */
	padding-top: 10px;
	color: #1a2d62;
	overflow: hidden;
	font-size: 18px;
}
.course_features ul li i{
color:#2c7aff;
margin-right:8px;
}
.course_features ul li b {
	font-weight: 800;
	float: right;
	background: #2c7aff;
	color: #fff;
	padding: 5px 10px;
	overflow: hidden;
	border-radius: 10px;
}
.course-content p {
	margin-bottom: 30px;
}
.related_course {
	margin: 30px 0;
	border: 1px solid #eee;
	padding: 30px;
}
.related_course h3{
margin-bottom:30px;
font-size: 22px;
font-weight: 800;
}
.single_rc{
margin-bottom:30px;
padding-bottom:30px;
border-bottom:1px solid #eee;
}
.single_rc img {
	float: left;
	margin-right: 15px;
	margin-bottom: 15px;
}
.single_rc i{color:#ffbd35;margin-right: 8px;}
.single_rc h4 a {
	color: #1a2d62;
	font-size: 18px;
	font-weight: 800;
	margin: 10px 0;
	display: block;
	transition: 0.3s;
}
.single_rc h4 a:hover{color:#2c7aff;}
.single_rc span {
	color: #2c7aff;
	font-weight: 800;
	font-size: 20px;
}
.single_langu{}
.single_langu input{}
.single_langu span a {
	color: #1a2d62;
	display: inline-block;
	font-size: 18px;
	line-height: 36px;
	transition: 0.3s;
}
.single_langu span a:hover{color:#2c7aff;}
.single_rat a {
	line-height: 42px;
	/* font-size: 40px; */
	display: inline-block;
}
/*END SINGLE COURSE SIDEBAR CSS*/

.c_btn {
	background: #ebecff;
	padding: 6px 20px;
	margin-bottom: 20px;
	display: inline-block;
	border-radius: 5px;
	color: #2c7aff;
	font-weight: 700;
	transition: 0.3s;
}
.c_btn:hover{color: #2c7aff;}

/*START VIDEO CSS*/
.vid_area {
	position: relative;
	padding-top: 0;
}
.va2 {
position: relative;
	padding-top: 250px;
	padding-bottom: 200px;
}
.va2::before {
	position: absolute;
	width: 100%;
	height: 100%;
	background: #1a1936;
	content: "";
	left: 0;
	top: 0;
	opacity: 0.3;
}

.video-area {
	position: relative;
	/*background: url(../images/all-img/about-image.jpg);*/
	height: 700px;
	padding: 20px;
	border-radius: 10px;
	margin-right: 40px;
	background-size: cover;
	background-position: center;
}
@media only screen and (max-width:960px) { 
.video-area {margin-right: 0px;}
}
.video-area::before {
	position: absolute;
	width: 100%;
	height: 100%;
	background: #1a1936;
	content: "";
	left: 0;
	top: 0;
	opacity: 0.2;
	border-radius: 10px;
}
.video-button::after, .video-button::before, blockquote::before, .video-area .video-button  {
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    content: "";
}
.video-button::after, .video-button::before, blockquote::before, .video-area2 .video-button  {
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    content: "";
}
.video-button {
    width: 70px;
    height: 70px;
    line-height: 70px;
    text-align: center;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    background: #2c7aff;
    position: relative;
    color: #ffffff;
    font-size: 30px;
}

.video-button i {
    position: relative;
    z-index: 1;
}

.video-button:hover {
    color: #ffffff;
}

.video-button::after, .video-button::before {
    animation: video 25s linear infinite;
    -webkit-animation: video 25s linear infinite;
    -moz-animation: video 25s linear infinite;
    -webkit-transition: all ease 0.3s;
    -moz-transition: all ease 0.3s;
    transition: all ease 0.3s;
}


.video-button::after {
   background: #2c7aff;
	opacity:0.5;
    height: 120px;
    width: 120px;
}

@keyframes video {
    0% {
        -webkit-border-radius: 33.33% 50%;
        -moz-border-radius: 33.33% 50%;
        border-radius: 33.33% 50%;
        -webkit-transform: translate(-50%, -50%) rotate(0deg);
        -ms-transform: translate(-50%, -50%) rotate(0deg);
        transform: translate(-50%, -50%) rotate(0deg);
    }

    100% {
        -webkit-border-radius: 50% 33.33%;
        -moz-border-radius: 50% 33.33%;
        border-radius: 50% 33.33%;
        -webkit-transform: translate(-50%, -50%) rotate(1800deg);
        -ms-transform: translate(-50%, -50%) rotate(1800deg);
        transform: translate(-50%, -50%) rotate(1800deg);
    }
}

@-webkit-keyframes video {
    0% {
        -webkit-border-radius: 33.33% 50%;
        -moz-border-radius: 33.33% 50%;
        border-radius: 33.33% 50%;
        -webkit-transform: translate(-50%, -50%) rotate(0deg);
        -ms-transform: translate(-50%, -50%) rotate(0deg);
        transform: translate(-50%, -50%) rotate(0deg);
    }

    100% {
        -webkit-border-radius: 50% 33.33%;
        -moz-border-radius: 50% 33.33%;
        border-radius: 50% 33.33%;
        -webkit-transform: translate(-50%, -50%) rotate(1800deg);
        -ms-transform: translate(-50%, -50%) rotate(1800deg);
        transform: translate(-50%, -50%) rotate(1800deg);
    }
}

@-moz-keyframes video {
    0% {
        -webkit-border-radius: 33.33% 50%;
        -moz-border-radius: 33.33% 50%;
        border-radius: 33.33% 50%;
        -webkit-transform: translate(-50%, -50%) rotate(0deg);
        -ms-transform: translate(-50%, -50%) rotate(0deg);
        transform: translate(-50%, -50%) rotate(0deg);
    }

    100% {
        -webkit-border-radius: 50% 33.33%;
        -moz-border-radius: 50% 33.33%;
        border-radius: 50% 33.33%;
        -webkit-transform: translate(-50%, -50%) rotate(1800deg);
        -ms-transform: translate(-50%, -50%) rotate(1800deg);
        transform: translate(-50%, -50%) rotate(1800deg);
    }
}
.bc_three{
	background: #ebecff;
}
/*START COURSE DETAILS TAB CSS*/
.course-details-content {
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
	background-color: #F1F5F9;
	margin-top:40px;
}

.course-details-content .nav {
    border: none;
    text-align: center;
    border: 1px solid #DDDDDD;
    border-bottom: none;
    -webkit-border-radius: 5px 5px 0 0;
    -moz-border-radius: 5px 5px 0 0;
    border-radius: 5px 5px 0 0;
    overflow: hidden;
}

.course-details-content .nav li {
    margin-left: -1px;
    flex-grow: 1;
    padding: 0;
    border-left: 1px solid #DDDDDD;
    border-bottom: 1px solid #DDDDDD;
}

.course-details-content .nav li:first-child {
    border-left: none;
}

.course-details-content .nav li a {
    font-weight: 700;
    padding: 14px;
    color: #07294D;
    text-transform: uppercase;
    display: block;
}

.course-details-content .nav li a.active {
    background: #2c7aff;
    color: #ffffff;
}

.course-details-content .overview {
    padding-top: 25px;
}

.course-details-content .overview p {
    margin: 0;
    margin-bottom: 1rem;
}
.course-details-content .overview iframe {
width:100%;
margin:30px 0;
}

.course-details-content .tab-content {
    padding: 0 30px 30px;
}

@media (max-width: 575px) {
    .course-details-content .tab-content {
        padding: 0 15px 20px;
    }

    .course-details-content .nav li a {
        font-size: 14px;
        padding: 5px 10px;
    }
}

.course-details-content .instructor-item .instructor-content .title {
    font-size: 20px;
    margin: 0;
    margin-bottom: 2px;
}

.details-buttons-area {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 0 -5px -5px;
}

.details-buttons-area .custom-button {
    margin: 5px;
}

.details-buttons-area .social-icons {
    margin: 0;
    margin-left: auto;
}

.details-buttons-area .social-icons li a {
    color: #07294D;
    background: #ffffff;
}

.details-buttons-area .social-icons li a.active {
    background: #2c7aff;
    color: #ffffff;
}

@media (max-width: 767px) {
    .details-buttons-area {
        justify-content: center;
    }

    .details-buttons-area .social-icons {
        width: 100%;
        margin: 0;
        justify-content: center;
    }
}

.review-form .client-form input {
    border-color: #DDDDDD;
    background: #ffffff;
    height: 50px;
    margin-bottom: 15px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    padding-left: 10px;
}

.review-form .client-form .rating {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 15px;
}

.review-form .client-form .rating .rating-title {
    padding-right: 5px;
}

.review-form .client-form .rating ul {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
}

.review-form .client-form .rating ul li a i {
    color: #FF7700;
}

.review-form .client-form textarea {
    border-color: #DDDDDD;
    padding: 10px;
    height: 130px;
    margin-bottom: 20px;
}

.review-form .client-form button {
    background-color: #FF7700;
    color: #ffffff;
    font-weight: 500;
    outline: none;
    height: 50px;
    cursor: pointer;
    border: none;
}

.client-review {
    padding-top: 30px;
}

.client-review .review-title {
	text-transform: capitalize;
	margin-bottom: 10px;
	font-weight: 800;
	margin-bottom: 20px;
	font-size: 21px;
}

.review-contents {
    margin-bottom: 35px;
}

.review-contents li {
    padding: 0;
    margin-bottom: 25px;
}

.review-contents li:last-child {
    margin-bottom: 0;
}

.review-contents li .thumb {
	width: 100px;
	float: left;
	margin-right: 20px;
}

.review-contents li .thumb img {
    width: 100%;
}

.review-contents li .cont {
    padding-left: 20px;
    width: calc(100% - 100px);
    font-size: 14px;
    line-height: 26px;
}

.review-contents li .cont .subtitle {
	margin: 0;
	font-size: 18px;
	margin-bottom: -3px;
	font-weight: 700;
	margin-bottom: 5px;
}

.review-contents li .cont .ratings {
    margin-bottom: 15px;
}

@media screen and (max-width: 450px) {
    .review-contents li .thumb {
        width: 80px;
    }

    .review-contents li .cont {
        width: 100%;
        padding: 15px 0 0 0;
    }
}
.cl-theme {
	color: #FF7700 !important;
}
.review-form .client-form input {
	border-color: #DDDDDD;
	background: #ffffff;
	height: 50px;
	margin-bottom: 15px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	padding-left: 10px;
	border: none;
}
.review-form .client-form textarea {
	border-color: #DDDDDD;
	padding: 10px;
	height: 130px;
	width:100%;
	margin-bottom: 20px;
	border: none;
}
.custom-button {
    color: #ffffff;
    text-transform: uppercase;
    line-height: 48px;
    background: #FF7700;
    padding: 0 35px;
    display: inline-block;
    text-transform: uppercase;
    font-weight: 500;
    font-size: 16px;
    border-radius: 25px;
    border: 1px solid #FF7700;
}

.custom-button i {
    -webkit-transition: all ease 0.3s;
    -moz-transition: all ease 0.3s;
    transition: all ease 0.3s;
    display: inline-block;
}

.custom-button i:last-child {
    padding-left: 10px;
}

.custom-button i:first-child {
    padding-right: 10px;
}

.custom-button:hover {
    color: #2c7aff;
}

.custom-button.btn-sm {
    padding: 0 18px;
    font-size: 14px;
    line-height: 45px;
}

.custom-button.theme-one {
    border-color: #2c7aff;
    background: #2c7aff;
    box-shadow: 0 0 15px rgba(255, 119, 0, 0.1);
}

.custom-button.theme-one:hover {
    color: #2c7aff;
	background:#fff;
	border:1px solid #2c7aff;
}
.custom-button.bg-white {
    background: #ffffff;
    color: #07294D;
    border-color: rgba(7, 41, 77, 0.2);
}

.custom-button.bg-white:hover {
    background: #FF7700 !important;
    border-color: #FF7700 !important;
    color: #ffffff;
}

.social-icons {
    margin: -10px;
}

.social-icons li {
    padding: 10px;display: inline-block;
}

.social-icons li a {
    width: 35px;
    height: 35px;
    line-height: 35px;
    text-align: center;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.14);
    color: #ffffff;
	display: block;
}

.social-icons li a:hover, .social-icons li a.active {
    background: #2c7aff;
    color: #ffffff;
    box-shadow: 0 5px 20px rgba(255, 119, 0, 0.31);
}

.instructor-item {
    margin: 0 auto 30px;
}

.instructor-item .instructor-thumb {
    width: 184px;
    overflow: hidden;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    margin: 0 auto;
}

.instructor-item .instructor-thumb img {
    width: 100%;
    -webkit-transition: all ease 0.3s;
    -moz-transition: all ease 0.3s;
    transition: all ease 0.3s;
}

.instructor-item .instructor-content {
    position: relative;
    z-index: 1;
    max-width: 237px;
    margin: -20px auto 0;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    padding: 16px 10px;
    background: #ffffff;
    text-align: center;
    box-shadow: 0 0 30px rgba(7, 41, 77, 0.12);
}

.instructor-item .instructor-content .title {
    margin: 0;
    margin-bottom: 2px;
    text-transform: uppercase;
}
.course-details-content .instructor-item .instructor-content .title a {
	font-size: 20px;
	margin: 0;
	margin-bottom: 2px;
	color: #1a2d62;
	font-weight: 700;
}
.instructor-item:hover .instructor-thumb img {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
}
/*END COURSE DETAILS TAB CSS*/
/*
* ----------------------------------------------------------------------------------------
* 08.END COURSE DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 09.START COURSE PROMOTION DESIGN
* ----------------------------------------------------------------------------------------
*/
.course_promo {}
.cp_content{}
@media only screen and (max-width:960px) { 
.cp_content {margin-top: 60px;}
}
.cp_content h4 {
	font-size: 18px;
	margin-bottom: 10px;
}
.cp_content h2 {
	font-weight: 500;
	font-size: 62px;
	margin-bottom: 20px;
	line-height: 72px;
	font-weight: 500;
}
@media only screen and (max-width:480px) { 
.cp_content h2 {font-size: 42px;line-height: 52px;}
}
.cp_content p{margin-bottom: 40px;}
.cp_content ul{margin-bottom: 60px;}
.cp_content ul li {
	margin-bottom: 15px;
	background: rgba(44,122,255,0.1);
	padding: 7px 20px;
	border-radius: 30px;
	width: 80%;
	color: #1a2d62;
}
.cp_content ul li span {
	background: #2c7aff;
	color: #fff;
	width: 25px;
	height: 25px;
	display: inline-block;
	line-height: 25px;
	text-align: center;
	border-radius: 30px;
	margin-right: 15px;
	font-size: 15px;
	font-weight: 600;
}
.cc_btn{margin-top:30px;}

.cp_img {position:relative;}
.cp_img img {
	width: 100%;

}
@media only screen and (max-width:880px){
.cp_img img {margin-top:60px;}
}
.vp_top{margin-top:80px;}

.video-play {
	display: block;
	position: absolute;
	top: 45%;
	left: 45%;
}
.video-play i {
	background: #2c7aff;
	color: #fff;
	width: 120px;
	height: 120px;
	line-height: 120px;
	text-align: center;
	border-radius: 100px;
	display: inline-block;
	-webkit-box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.15);
	        box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.15);
	-webkit-transition: all 0.3s ease 0s;
	-o-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
	font-size: 40px;
}
.video-play:hover i{
background: #3f3eed;
color:#fff;
}
@media only screen and (max-width:480px){
.video-play i {
width: 80px;
height: 80px;
line-height: 80px;
font-size: 30px;
}
.video-play {
	display: block;
	position: absolute;
	top: 60%;
	left: 40%;
}
}
/*
* ----------------------------------------------------------------------------------------
* 09.END COURSE PROMOTION DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 10.START TOPIC DESIGN
* ----------------------------------------------------------------------------------------
*/

.topic_content_area {
	padding-bottom: 50px;
	background: url(../assets/images/banner/topic.png);
	background-position: center;
	background-size: cover;
}
.single_tca {
	padding: 40px;
	margin-bottom: 30px;
	border-radius: 10px;
	cursor: pointer;
	position: relative;
	z-index: 2;
	transition: all 0.3s ease 0s;
	text-align: center;
}
@media only screen and (max-width:960px) { 
.single_tca {padding:50px 30px;border-radius: 0px;}
}
.single_tca:hover{
box-shadow:0px 60px 60px rgba(0,0,0,0.1);
position:relative;
z-index:100;
transform: translate(0, -10px);
}
.single_tca img{
	margin-bottom: 20px;
	border-radius:500px;
		background: #fff;
	padding: 10px;
	display:none;
}

.single_tca h2{overflow: hidden;}
.single_tca h2 a {
	color: #1a2d62;
	font-size: 22px;
	font-weight: 600;
	transition: 0.3s;
	margin-bottom: 10px;
	display: block;
}
@media only screen and (max-width:960px) { 
.single_tca h2 a {font-size:30px;}
}
.single_tca span {
	color: rgb(26, 45, 98);
	background: #fff;
	padding: 10px 25px;
	border-radius: 500px;
	margin-top: 20px;
	display: inline-block;
}
.sc_one{color:#F26B65;background:#52EDB5;}
.sc_two{color:#2D36BB;background:#7EB2FF;}
.sc_three{color:#57216C;background:#B77EFF;}
.sc_four{color:#448BB7;background:#EFE37A;}
.sc_five{color:#448BB7;background:#F3BBBC;}
.sc_six{color:#448BB7;background:#FFF6C4;}
.sc_seven{color:#448BB7;background:#F6F7F7;}
.sc_eight{color:#448BB7;background:#D9D7D1;}

/*START HOME TWO TOPIC CSS*/
.category_two_area{padding-bottom:50px;background:#edf4f7;}
.cat_list_two{
text-align:center;
padding:30px;
background:#fff;
border-radius:15px;
margin-bottom:30px;
transition: all 0.25s ease-out;
	transition: 0.3s;
}
.cat_list_two img {
	margin-bottom: 20px;
	width: 100%;
}
.cat_list_two span {
	background: rgba(44,112,255,0.1);
	color: #1a2d62;
	padding: 10px 25px;
	border-radius: 30px;
	font-weight: 500;
	font-size: 14px;
	margin-bottom: 15px;
	display: inline-block;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	transition: 0.3s;
}
.cat_list_two:hover span{
	background: #2c7aff;
	color: #fff;
}
.cat_list_two h4 a {
	font-weight: 600;
	margin-bottom: 15px;
	display: inline-block;
	transition: 0.3s;
}
.cat_list_two:hover h4 a{color: #2c7aff;}
.cat_list_two p{}
/*END HOME TWO TOPIC CSS*/

.course-category {
width: 160px;
height: 160px;
border-radius: 50%;
display: block;
margin: 0 auto;
position: relative;
z-index: 0;
margin-bottom: 20px; }
.course-category:after {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
content: '';
background: #000000;
opacity: .3;
z-index: -1;
border-radius: 50%; }
.course-category .text h3 {
color: #fff;
font-size: 20px;
margin-bottom: 0; }
.course-category .text span {
font-size: 12px;
color: rgba(255, 255, 255, 0.9); }
/*
* ----------------------------------------------------------------------------------------
* 10.END TOPIC DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 11. START REVIEWS DESIGN
* ----------------------------------------------------------------------------------------
*/
.testi_home_area {
	padding-bottom: 100px;
	background:#FAFAFA;
}
.testimonial {
	background: #fff;
	border-radius: 30px;
	margin: 0px 15px;
	-webkit-box-shadow:  0 4px 5px -1px rgba(0,64,128,.1); 
	box-shadow: 0 4px 5px -1px rgba(0,64,128,.1);
	margin-bottom: 30px;
	overflow: hidden;
	padding: 50px;
}
.testimonial_content{padding: 30px;}
.testimonial_content h3 {
	font-weight: 600;
	font-size: 20px;
	color:#1a2d62;
}
.testimonial i {
	color: #FEC961;
	font-size: 16px;
}
.testimonial p {
	overflow: hidden;
	/* margin-top: 15px; */
	margin-bottom: 24px;
	font-size: 20px;
	line-height: 30px;
}
.testi_pic_title {margin-bottom: 30px;}

.testi_pic_title .pic {
	float: left;
	width: 70px;
	height: 70px;
	margin-right: 20px;
}
.testi_pic_title .pic img {
	width: 100%;
	height: 100%;
	border-radius: 100px;
}
.testi_pic_title h4 {
	font-size: 24px;
	font-weight: 600;
	margin-top: 10px;
}
.testi_pic_title small {
	font-weight: 400;
	font-size: 16px;
	margin-top: 8px;
	display: block;
	overflow: hidden;
}
.owl-theme .owl-controls {
    margin-top: 50px;
    text-align: center;
}
.owl-theme .owl-controls .owl-page { display: inline-block }
.owl-controls .owl-page,
.owl-controls .owl-buttons div { cursor: pointer }
.owl-theme .owl-controls .owl-page span {
background-color: #2c7aff !important;
border-radius: 20px;
display: block;
height: 10px;
margin: 5px 7px;
width: 10px;
}
.owl-theme .owl-controls .owl-page.active span,
.owl-theme .owl-controls.clickable .owl-page:hover span { background-color: #fff }
.owl-theme .owl-controls {
  display: block !important;
  margin-top: 20px;
  text-align: center;
}
.owl-theme .owl-controls .owl-buttons div {
	color: #FFF;
	display: inline-block;
	zoom: 1;
	*display: inline;
	margin: 5px;
	padding: 3px 10px;
	font-size: 12px;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	border-radius: 30px;
	background: #869791;
	filter: Alpha(Opacity=50);
	display:none;
}
/*
* ----------------------------------------------------------------------------------------
* 11.END REVIEWS DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 12. START TEAM CSS STYLE
* ----------------------------------------------------------------------------------------
*/
.team_page{padding-top: 0px;}
/*START HOME PAGE TEAM DESIGN*/
.team_member {
	padding-bottom: 50px;
	overflow: hidden;
}
.single_team_content{
padding:45px;
margin-top:60px;
}
.single_team_content h1 {
	font-size: 50px;
	font-weight: 600;
	line-height: 60px;
}

/* TOPページ・ブログセクション */
.our-team {
    margin-bottom: 30px;
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 5px 20px rgba(0,0,0,0.05);
    transition: all 0.3s ease;
    height: 100%;
}
.our-team:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}
.blog_link {
    text-decoration: none !important;
    display: block;
}
.team_img {
    position: relative;
    aspect-ratio: 1 / 1; /* 正方形を維持 */
    overflow: hidden;
}
.team_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.5s;
}
.our-team:hover img {
    transform: scale(1.1);
}
.team-content {
    padding: 20px;
    text-align: left;
}
.post {
    display: block;
    font-size: 13px;
    color: #888;
    margin-bottom: 5px;
}
.our-team .title {
    font-size: 18px;
    font-weight: 700;
    color: #1a2d62;
    margin: 5px 0 10px;
    line-height: 1.4;
    /* 2行以上は三点リーダーにする設定（任意） */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.blog_cat {
    margin-bottom: 15px;
}
.blog_cat span {
    display: inline-block;
    background: #f0f4f8;
    color: #2c7aff;
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 3px;
    margin-right: 5px;
}
.blog_excerpt p {
    font-size: 14px;
    color: #555;
    line-height: 1.6;
    margin-bottom: 15px;
}
.read_more {
    font-size: 13px;
    color: #2c7aff;
    font-weight: 600;
    text-align: right;
}
.read_more:after {
    content: " →";
}
/*END HOME PAGE TEAM DESIGN*/

/*START HOME PAGE TWO TEAM DESIGN*/
.our-team2 {
	border: 1px solid #ddd;
	padding: 10px;
	text-align: center;
	border-radius: 10px;
	padding-bottom: 20px;
}
.our-team2 .team-content2{
    position: relative;
    overflow: hidden;
}
.our-team2 .team-content2 img{
    width: 100%;
    height: auto;
    transition: all 0.30s linear 0s;
}
.our-team2:hover .team-content2 img{
    transform: scale(1.2,1.2);
}
.our-team2 .social-links{
    padding: 0;
    margin: 0;
    list-style: none;
    position: absolute;
    bottom: 0;
}
.our-team2 .social-links li{}
.our-team2 .social-links li a {
	padding: 15px;
	color: #fff;
	display: block;
	background: #2c7aff;
	transition: all 0.3s linear 0s;
}
.our-team2 .social-links li a:hover{
    color:#2c7aff;
    background:#fff;
    text-decoration: none;
}
.team-prof {
	margin: 15px 0;
}
.our-team 2.team-prof h3 {
	font-weight: 600;
	margin: 15px 0 5px;
	font-size: 20px;
}
.our-team 2.team-prof span{
    display: block;
}
@media only screen and (max-width: 960px){
    .our-team2{ margin-bottom:30px; }
}
.sth_det2{}
.sth_det2 > span {
	color: #2c7aff;
	display: inline-block;
	margin: 10px 5px;
}
.sth_det2 u{
color: #1a2d62;
}

/*END HOME PAGE TWO TEAM DESIGN*/

/*START SINGLE TEAM DETAILS*/
.template_agent {
	padding-bottom: 50px;
}
.single_agent{
background: #fff none repeat scroll 0 0;
box-shadow: 0px 10px 40px rgba(0, 0, 0, 0.07);
margin-bottom: 30px;
overflow: hidden;
padding: 60px;
}
.single_agent_image img{
float: left;
margin-right: 50px;
width: 350px;
}
@media only screen and (max-width:480px) { 
.single_agent_image img{
float: left;
margin-right:0px;
margin-bottom: 50px;
width: 100%;
}
}
.single_agent_content{

}
.agent_social {
  margin-top: 30px;
  overflow: hidden;
}
.single_agent_content h4 {
	text-transform: capitalize;
	overflow: hidden;
	font-weight: 800;
	font-size: 30px;
	margin-bottom: 5px;
}
.single_agent_content h5 {
	border-bottom: 1px solid #eee;
	color: #2c7aff;
	margin-bottom: 20px;
	overflow: hidden;
	padding-bottom: 10px;
	text-transform: capitalize;
}
.single_agent_content p{
margin-bottom: 20px;
overflow: hidden;
}
.single_agent_content ul{}
.single_agent_content ul li {
	color: #1a2d62;
	line-height: 40px;
	overflow: hidden;
	font-size: 18px;
	font-weight: 600;
}
.single_agent_content i{margin-right:10px;color:#2c7aff;}

.agent_social ul li{float: left;}
.agent_social ul li a{
margin-right: 5px;
}
.agent_social ul li a i {
  margin-right: 0;
}
.agent_social ul li a:hover{background:#2c7aff;color:#fff;}
/*END SINGLE TEAM DETAILS*/
/*
* ----------------------------------------------------------------------------------------
* 12. END TEAM CSS STYLE
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 13.START BLOG DESIGN
* ----------------------------------------------------------------------------------------
*/
.blog_area{
	padding-bottom: 50px;
}
.blog_area_bg{}
.single_blog {
	border-radius:0px;
	margin-bottom: 30px;
	position:relative;
	text-align:center;
	border: 1px solid #eee;
}
.single_blog a img {
	width: 100%;
	position:relative;
    margin-bottom: 15px;
    transition: 0.5s;
}
.single_blog a:hover img {
    margin-bottom: 15px;
}
.img_info{}
.img_info span {
	text-transform: capitalize;
	margin-bottom: 10px;
	display: inline-block;
	background: #fff;
	padding: 10px 30px;
	border-radius: 100px;
	border: 1px solid #eee;
	box-shadow: 0 4px 5px -1px rgba(0,64,128,.1);
}
.img_info span a {
	color: #2c7aff;
}
.img_info span a:hover{color:#2c7aff;}
.content_box {
	margin-top: 10px;
	padding-bottom: 20px;
}
.content_box h2 {
    line-height: 32px;
    font-size: 18px;
    text-align: left;
    margin-bottom: 40px;
    /* NEWマークとタイトルを横に並べるための設定 */
    display: flex;
    align-items: center;
    flex-wrap: wrap; 
    padding: 0 20px; /* aタグからこちらに移動 */
}
.content_box h2 a {
    color: #1a2d62;
    font-weight: 600;
    /* display: block; を削除または inline に変更 */
    display: inline; 
    padding: 0; /* paddingをh2側に持たせたのでリセット */
    transition: 0.3s;
}
.content_box h2 a:hover {
    color: #2c7aff;
}
/* NEWマーク（add_new）がdivなどで出力されても横に並ぶようにする */
.content_box h2 .new, /* 仮のクラス名、実際の出力に合わせて調整してください */
.content_box h2 span,
.content_box h2 div {
    display: inline-block;
    margin-left: 10px; /* タイトルとの隙間 */
}

.single_blog_two span{margin-top:0px;}
.single_blog_two p{margin-bottom:30px;}
.arti_img_two img{
width:100%;
margin-bottom:20px;
}
.arti_btn {
	color: #2c7aff;
	font-weight: 600;
	margin-top: 15px;
	display: inline-block;
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
}
.arti_btn:hover{
padding-left:10px;
color: #2c7aff;}

.arti_sp{}
.arti_sp h2 {
	margin-top: 30px;
	font-weight: 700;
	margin-left: 60px;
	margin-bottom: 30px;
}
.arti_sp img{margin-bottom:30px;width:100%;}
.arti_sp p{}
.share_sp{margin-top: 30px;overflow: hidden;}
.share_sp h4{font-weight: 600;margin-bottom: 25px;}
.share_sp ul{}
.share_sp ul li{float: left;}
.share_sp ul li a {
	color: #fff;
	transition: 0.3s;
	padding: 15px;
	display:block;
	background: #f4f4f4;
	background: #2c7aff;
	border-radius: 5px;
	margin-right: 10px;
}
.share_sp ul li a:hover{background:#1a2d62;}
.share_sp ul li a span{}
/*START BLOG SIDEBAR DESIGN*/
.blog-page {
	background: #edf4f7;
}
.blog_search {
	background: #fff;
	box-shadow: 0px 0px 150px 0px rgba(78, 67, 250, 0.06);
	padding: 10px;
	border: 1px solid #ededed;
}
.blog_search input {
	border: 1px solid #ebecff;
	border-radius: 0;
	color: #1a2d62;
	-webkit-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
	height: 60px;
	outline: 0 none;
}
.blog_search input:focus{box-shadow:none;}
/*START NEWSLETTER FORM*/
.newsletter-form {
	background: #072032;
	padding: 40px;
	border-radius: 10px;
}
.newsletter-form h4 {
	color: #fff;
	margin-top: 0;
	margin-bottom: 15px;
	font-weight: 700;
	text-transform: capitalize;
	font-size: 24px;
	line-height: 34px;
}
.newsletter-form p{color:#fff;margin-bottom: 30px;}
.newsletter-form input {
	width: 100%;
	margin-bottom: 20px;
	height: 50px;
	padding: 10px;
	color: #1d293e;
	border-radius: 2px;
	border: 0px;
}
.newsletter-form input:focus{box-shadow:none;}
.subscribe button {
	border:none;
	width: 100%;
}

.sub_btn{
	background: #2c7aff;
	border-radius: 5px;
	color: #fff;
	font-size: 16px;
	padding: 14px 40px;
	text-transform: capitalize;
	-webkit-transition:all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
	border-radius: 100px;
	display: inline-block;
	font-weight: 500;
}
.sub_btn:hover, .sub_btn:focus{
background:#fff;
color: #1a2d62;
}
/*END NEWSLETTER FORM*/

/*Popular post*/
.sidebar_title{}
.sidebar_title h4 {
	font-size: 16px;
	font-weight: 800;
	text-transform: uppercase;
	margin-bottom: 20px;
	padding-bottom: 10px;
	border-bottom: 1px solid #ededed;
}
.sidebar-post {
	border-radius: 5px;
	margin-bottom: 30px;
	padding: 30px;
	background:#fff;
	border: 1px solid #ededed;
}
.single_popular{
margin-bottom:20px;
overflow: hidden;
}
.single_popular:last-child {
	margin-bottom: 0;
}
.single_popular a img {
	width: 80px;
	height: 60px;
	float: left;
	margin-right: 10px;
	border-radius: 6px;
}
.single_popular h5 a {
	color: #1a2d62;
	font-size: 16px;
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
	font-weight: 500;
}
.single_popular h5 a:hover{color:#554c86;}
/*End Popular post*/

/*Start Social media*/
.single_social{}
.social_item{
padding:8px 12px;
border-radius:4px;
}
.single_social ul {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: repeat(2, minmax(0, 1fr));
	grid-column-gap: 10px;
	grid-row-gap: 10px;
	list-style:none;
	-ms-grid-columns: minmax(0, 1fr) 10px minmax(0, 1fr);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.single_social ul li{}
.single_social ul li a{}
.single_social ul li a i{color:#fff;font-size:12px;}
.item-list{
float: right;
color:#fff;
font-size:13px;
}

.b_facebook{background:#1a4fc5;}
.b_twitter{background:#00acee;}
.b_youtube{background:#f50000;}
.b_pinterest{background:#e62e3f;}
.b_tumblr{background:#34526f;}
.b_rss{background:#e8a50e;}

/*End Social media*/

/*Start category*/
.single_category{overflow:hidden;}
.item-category{
padding:8px 12px;
border-radius:4px;
background:#f2f2f2;
}
.single_category ul {

}
.single_category ul li {
width: 98%;
	line-height: 24px;
	float: left;
	margin: 1%;
}
.single_category ul li a{
color:#1a2d62;
font-size:16px;
font-weight:600;
text-decoration:underline;
}
.single_category ul li a sup{color:#2c7aff;}
/*End category*/
.tag{overflow: hidden;}
.tag a {
	background: #f4f4f4;
	border: 1px solid #ededed;
	border-radius: 30px;
	color: #1a2d62;
	display: block;
	float: left;
	font-size: 14px;
	font-weight: 600;
	margin: 6px 4px;
	padding: 3px 20px;
	text-transform: capitalize;
	-webkit-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
.tag a:hover {
    background: #2c7aff;
    color: #fff;
    border: 1px solid #2c7aff;
}
.sidebar-banner img{width:100%;}
/*START SINGLE BLOG PAGE DESIGN*/
.author_part {
	margin-bottom: 30px;
	overflow: hidden;
	margin-top: 60px;
}
.single_author {
	background: #fff none repeat scroll 0 0;
	padding: 40px;
	border-radius: 10px;
	-webkit-box-shadow: 0px 0px 150px 0px rgba(78, 67, 250, 0.06);
	        box-shadow: 0px 0px 150px 0px rgba(78, 67, 250, 0.06);
	overflow: hidden;
	border: 1px solid #ededed;
}
.author_part img {
	border: 4px solid #ededed;
	border-radius: 100px;
	float: left;
	height: 120px;
	margin-right: 20px;
	width: 120px;
}
.author_part h4 {text-transform: uppercase;
font-size: 16px;
font-weight:700;
letter-spacing: 1px;
margin-bottom: 10px;
	overflow: hidden; }
.author_part p { margin-bottom: 0 }
.blog_head_title {
border-bottom: 1px solid #ededed;
margin: 0 0 30px;
padding-bottom: 10px;
font-weight: 700;
text-transform: uppercase;
font-size: 18px;
}
.comments_part {
    margin-bottom: 60px;
}
.single_comment {
    margin-bottom: 30px;
    background: #fff;
    padding: 40px;
	border-radius: 10px;
	-webkit-box-shadow: 0px 0px 150px 0px rgba(78, 67, 250, 0.06);
	        box-shadow: 0px 0px 150px 0px rgba(78, 67, 250, 0.06);
	overflow: hidden;
	border:1px solid #ededed;
}
.sc_left{margin-left: 100px;}
.single_comment_mbnone { margin-bottom: 0px }
.single_comment img {
    border: 4px solid #ededed;
    border-radius: 100px;
    float: left;
    height: 120px;
    margin-right: 20px;
    width: 120px;
}
.single_comment h4 {
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	margin-bottom: 10px;
	overflow: hidden;
}
.single_comment p { margin-bottom: 0;overflow: hidden;}
.comment-box {}
.comment_form input, .comment_form textarea  {}

.comment_form textarea {}
@media only screen and (max-width:768px) { 
    .comment_form textarea { width: 100% }
}
/*END SINGLE BLOG PAGE DESIGN*/
/*
* ----------------------------------------------------------------------------------------
* 13.END BLOG DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 14.START FOOTER DESIGN
* ----------------------------------------------------------------------------------------
*/
.footer {
	background:#fff;
	padding-bottom: 40px;
}
.single_footer h4 a:hover {
color: #FF0004;
}
@media only screen and (max-width:960px) { 
.single_footer{margin-bottom:40px;}
}
.single_footer img {
margin-bottom:20px;
width: 80px;
}
.single_footer h4 {
	margin-top: 0;
	margin-bottom: 25px;
	font-weight: 700;
	text-transform: capitalize;
	font-size: 20px;
}
.single_footer p{margin-bottom:30px;}
.foot_social{}
@media only screen and (max-width:480px){
.foot_social{margin-bottom:30px;overflow: hidden;}
}
.foot_social ul{}
.foot_social ul li{float: left;}
.foot_social ul li a {
	background: #fff;
	text-align: center;
	border: 0px;
	text-transform: uppercase;
	-webkit-transition: all 0.3s ease 0s;
	-o-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
	margin-right: 5px;
	font-size: 16px;
	display: block;
	width: 40px;
	height: 40px;
	line-height: 40px;
	border-radius: 30px;
	box-shadow: 0 4px 5px -1px rgba(0,64,128,.1);
}
.foot_social ul li a:hover{color:#fff;}

.single_footer ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.single_footer ul li{}
.single_footer ul li a {
	-webkit-transition: all 0.3s ease 0s;
	-o-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
	line-height: 36px;
	font-size: 16px;
	font-weight: 400;
	text-transform: capitalize;
}
.single_footer ul li a:before {
	content: "-";
	font-family: "LineAwesome";
	font-weight: 400;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	font-size: 20px;
	margin-right: 6px;
}
.single_footer ul li a:hover { color: #2c7aff; }
.foot_img{width:80% !important;}
@media only screen and (max-width:960px) { 
.foot_img{width:50% !important;}
}
@media only screen and (max-width:480px) { 
.foot_img{width:50% !important;}
}
.sf_contact{margin-bottom:30px;overflow: hidden;}
.sf_contact span {
	color: #2c7aff;
	font-size: 30px;
	float: left;
	margin-top: 5px;
	margin-right: 20px;
}
.sf_contact h3 {
	font-weight: 600;
	font-size: 18px;
	overflow: hidden;
	margin-bottom: 5px;
}
.sf_contact p {
	overflow: hidden;
	margin-bottom:0;
}
.fc {
	margin-top: 40px;
	/* background: #2b2a5e; */
	padding-top: 40px;
	border-top: 1px solid #e7e7e9;
}
.footer_copyright {float: left;}
@media only screen and (max-width:480px){
.footer_copyright {display:inline;}
}
.footer_copyright p{
text-align: center;
text-transform: capitalize;
} 
.footer_menu{float: right;}
@media only screen and (max-width:480px){
.footer_menu {
	float: left;
	margin-top: 20px;
}
}
.footer_menu ul{list-style:none;}
.footer_menu ul li{float:left;}
.footer_menu ul li a {
	padding: 0px 10px;
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
}
.footer_menu ul li a:hover{
color:#2c7aff;
text-decoration: underline;
}
/*
* ----------------------------------------------------------------------------------------
* 14.END FOOTER DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 15.START PARTNER DESIGN
* ----------------------------------------------------------------------------------------
*/
.part_bg {
	background: #fff;
	padding: 30px;
	border: 1px solid #e8e8e9;
	border-radius: 5px;
	box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.03);
}
.partner_title {}
.partner_title h3 {
	font-weight: 600;
	font-size: 24px;
	line-height: 34px;
}
.partner_title h3 span{color:#2c7aff;}
.partner {margin-top: 20px;}
.partner a img {}
.partner.owl-theme .owl-controls {
  display: none !important;
}
/*
* ----------------------------------------------------------------------------------------
* 15.END PARTNER DESIGN
* ----------------------------------------------------------------------------------------
*/

/*
* ----------------------------------------------------------------------------------------
* 16.START SECTION TOP DESIGN
* ----------------------------------------------------------------------------------------
*/
.section-top {
	background: linear-gradient(to left, rgb(228, 242, 254), rgb(255, 238, 254));
	padding-top: 150px;
	position: relative;
	padding-bottom: 120px;
}

.section-top-title {
	position: relative;
}
@media only screen and (max-width:480px) {
    .section-top-title { width: 100% }
}
.section-top-title h1 {
	margin-bottom: 10px;
	text-transform: capitalize;
	font-weight: 600;
	font-size: 50px;
}
@media only screen and (max-width:768px) {
.section-top-title h1 {
font-size: 30px;
}
}

.section-top-title ul {
    background: #fff;
    text-align: center;
    border: 2px solid #fff;
    padding: 10px 20px;
    /* width: 220px; ← これが原因で幅が足りず、縦並びに見えている可能性があります */
    width: fit-content; /* 中身に合わせて幅を変える */
    min-width: 220px;   /* 最低限の幅は維持 */
    margin: 20px auto auto auto;
    border-radius: 10px;
}

/* 階層を囲むspanの調整 */
.section-top-title ul span {
    color: #1a2d62 !important;
    display: inline; /* inline-blockではなくinlineにすることで、テキストとして自然に流す */
    vertical-align: baseline;
}

/* リンク色などの調整 */
.section-top-title ul span a {
    color: #2c7aff !important;
    font-weight: 600;
    text-decoration: none;
}

.section-top-title ul span a:hover {
    color: #1a2d62 !important;
}
/*
* ----------------------------------------------------------------------------------------
* 17.START PRICING DESIGN
* ----------------------------------------------------------------------------------------
*/
.price_area {}
.pricing-content{position:relative;}
.pricing_design{
    position: relative;
}
@media only screen and (max-width:880px){
.pricing_design{margin-bottom:30px;}
}
.pricing_design .single-pricing{
    background:#ebecff;
    padding: 60px 40px;
    border-radius:30px;
    -webkit-box-shadow: 0px 0px 150px 0px rgba(78, 67, 250, 0.06);
            box-shadow: 0px 0px 150px 0px rgba(78, 67, 250, 0.06);
    position: relative;
    z-index: 1;
	text-align: center;
}
.pricing_design .single-pricing:before{
    content: "";
    background-color: #fff;
    width: 100%;
    height: 100%;
    border-radius: 18px 18px 190px 18px;
    border: 1px solid #ededed;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: -1;
}
.price-head {
	border-bottom: 1px solid #ddd;
	padding-bottom: 30px;
	text-align: center;
	padding: 20px;
	color:#fff;
	border-radius: 30px;
}
.ph_one{background:#1AB69D;}
.ph_two{background:#EE4A62;}
.ph_three{background:#8E56FF;}
.price-head h2 {
	color:#fff;
	font-size: 26px;
	font-weight: 600;
}
.price-head h1 {
	font-weight: 600;
	margin-top: 10px;
	color:#fff;
}
.price-head span{display: block;}
.upgrade_price {
	text-decoration: underline;
	font-weight: 700;
	margin-top: 5px;
	color: #2c7aff;
}
.single-pricing ul{list-style:none;margin-top: 30px;}
.single-pricing ul li {
	line-height: 44px;
}
.single-pricing ul li span {
	background:rgba(27,84,253,0.2);
	color: #2c7aff;
	width: 30px;
	height: 30px;
	border-radius: 30px;
	font-size: 14px;
	text-align: center;
	line-height: 30px;
	margin-right: 6px;
	display: none;
}
.pricing-price{}

.price_btn {
	background: #2c7aff;
	padding: 10px 30px;
	color: #fff;
	display: inline-block;
	margin-top: 30px;
	border-radius: 2px;
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
}
.price_btn:hover{background:#3f3eed;}
/*
* ----------------------------------------------------------------------------------------
* 17.END PRICING DESIGN
* ----------------------------------------------------------------------------------------
*/

/*
* ----------------------------------------------------------------------------------------
* 18.START EVENT DESIGN
* ----------------------------------------------------------------------------------------
*/
.our-event {padding-bottom:50px;background: #edf4f7;}
.event-slide {
	position: relative;
	background:#fff;
	border-radius: 6px;
	margin-bottom: 30px;
	transition: 0.3s;
}
.es{
    position:relative;
   background:#fff;
	border: 1px solid #eee;
	border-radius:6px;
	margin-bottom:30px;
	padding: 30px;
	transition: 0.3s;
}
.event-slide:hover{
box-shadow: 0px 10px 40px rgba(0, 0, 0, 0.06);
}
.es:hover{
box-shadow: 0px 10px 40px rgba(0, 0, 0, 0.06);
}
@media only screen and (max-width:480px) { 
.event-slide {margin-bottom:30px;}
}
.event-slide-page{
margin:0px 0px;
margin-bottom:30px;
}
.event-slide .event-img{
    position: relative;
    overflow: hidden;
}
.event-slide .event-img img{
    width: 100%;
    height: auto;
}
.event-slide .event-date{
    position:absolute;
    top:10%;
    left:4%;
}
.event-slide .date{
    display: inline-block;
    border-radius: 3px 0 0 3px;
    padding: 5px 15px;
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    text-align: center;
    background:#1a2d62;
    float: left;
}
.event-slide .month{
    display: inline-block;
    border-radius: 0 3px 3px 0;
    padding: 5px 20px;
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    background: #2c7aff;
}
.event-slide .event-content{
    padding:30px;
	border: 1px solid #eee;
}
.event-content.ec_pd {
	padding: 0;
	border: 0;
	margin-top: 30px;
}
.event-content h3 a {
	color: #1a2d62;
	font-size: 20px;
	font-weight: 800;
	margin: 0 0 15px 0;
	text-transform: capitalize;
	display: block;
	line-height:30px;
	transition: 0.3s;
}
.event-content h3 a:hover{color: #2c7aff;}
.event-slide .event-content span i{
color:#2c7aff;
margin-right:8px;
}
.event-slide .event-content > span {
	color: #1a2d62;
	margin-bottom: 5px;
	display: inline-block;
	margin-right: 20px;
}
.event-slide .event-description{
margin-bottom: 20px;
}
.event-content p {}


/*START SINGLE EVENT DESIGN*/
.single_event_single{}
.single_event_single img {
	width: 100%;
}
.single_event_text_single{}

.single_event_text_single h4{
font-size: 36px;
font-weight: 700;
margin-bottom: 20px;
margin-top: 20px;
}
.single_event_text_single{}
.single_event_text_single span i{
color:#2c7aff;
margin-right:8px;
}
.single_event_text_single span {
	color: #333;
	margin-bottom: 5px;
	display: inline-block;
	margin-right: 20px;
}
.single_event_text_single p{margin-top:20px;}

.single_event_text_single_description{margin-top:30px;}
.single_event_text_single_description h3{
font-size: 36px;
font-weight: 700;
margin-bottom: 15px;
}
.single_event_text_single_description p{}
.event_info {
	border: 1px solid #eee;
	padding: 10px;
	border-radius: 5px;
	box-shadow: 0px 10px 40px rgba(0, 0, 0, 0.07);
	padding: 30px;
}
.event_info h3{
background: #2c7aff none repeat scroll 0 0;
color: #fff;
font-size: 26px;
font-weight: 800;
text-align: center;
padding: 20px;
}
.event_info ul{list-style: none;}
.event_info ul li{margin: 30px 0;}
.event_info ul i{
background: #2c7aff none repeat scroll 0 0;
border-radius: 30px;
color: #fff;
float: left;
font-size: 20px;
height: 45px;
line-height: 45px;
margin-right: 15px;
text-align: center;
width: 45px;
}
.event_info ul h4 {
	font-weight: 700;
	text-transform: capitalize;
	overflow: hidden;
	font-size: 22px;
}
.event_info ul li p{overflow: hidden;}

.event_info_price{}
.event_info_price h4{
background: #2c7aff none repeat scroll 0 0;
border-radius: 5px;
box-shadow: 0 6px 10px rgba(0, 0, 0, 0.1);
color: #fff;
font-size: 24px;
font-weight: 800;
margin: 30px 0;
padding: 10px;
text-align: center;
}

.event_info_register a {
	width: 100%;
	text-align: center;
}
/*END SINGLE EVENT DESIGN*/
/*
* ----------------------------------------------------------------------------------------
* 18.END EVENT DESIGN
* ----------------------------------------------------------------------------------------
*/


/* ----------------------------------------------------------------------------------------
* 19.START FAQ DESIGN
* ----------------------------------------------------------------------------------------
*/
.faq_area{padding-bottom:40px;background:#edf4f7;}
.accordion{margin-bottom:60px;}
.accordion-body {
	padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);
	background: #fff;
}
.accordion-item {
	border: 1px solid #fff; 
	margin-bottom: 15px;
	background:#fff;
	background: none;
	margin-bottom: 20px;
	border-radius: 5px;
}

.accordion-header {
	background:#fff!important;
	padding: 7px 0;
	-webkit-box-shadow: none;
	        box-shadow: none;
}
.accordion-button {
	background:#fff!important;
	color: #1a2d62 !important;
	font-weight: 700;
	font-size:20px;
}
.accordion-button:not(.collapsed) {
	color:#1a2d62!important;
	-webkit-box-shadow: none !important;
	        box-shadow: none !important;
}
.accordion-button:focus{-webkit-box-shadow: none !important;box-shadow: none !important;}
.pt_faq{padding-left:50px;}
/* ----------------------------------------------------------------------------------------
* 19.END FAQ DESIGN
* ----------------------------------------------------------------------------------------
*/

/*
* ----------------------------------------------------------------------------------------
* 20.START ERROR PAGE DESIGN
* ----------------------------------------------------------------------------------------
*/
.error_page{}
.error_page h2 {
	font-weight: 800;
	margin: 30px 0;
	font-size: 30px;
}
.error_page p {
	margin-bottom: 40px;
	font-weight: 500;
	width: 50%;
	margin: auto;
	margin-bottom: 40px;
}
/*
* ----------------------------------------------------------------------------------------
* 20.END ERROR PAGE DESIGN
* ----------------------------------------------------------------------------------------
*/

/*
* ----------------------------------------------------------------------------------------
* 21.START LOGIN AND REGISTER PAGE DESIGN
* ----------------------------------------------------------------------------------------
*/
.login_register {
 background:#edf4f7;
}
.login_register_title {
	margin-bottom: 30px;
	margin-top: 0;
	text-align: center;
	text-transform: capitalize;
	font-size: 30px;
	font-weight: 899;
}
.login {
	background:#fff;
	overflow: hidden;
	padding: 30px;
}
.login input {
	margin-bottom: 30px;
	background: #fff;
	height: 55px;
}
.login input:focus{-webkit-box-shadow: none;box-shadow: none;outline:none;}
.register {
background:#fff;
	overflow: hidden;
	padding: 30px;
}
.register input{
margin-bottom:30px;
	background: #fff;
	height: 55px;
}
.register input:focus{-webkit-box-shadow: none;box-shadow: none;outline:none;}

.login label {
	margin-bottom: 5px;
	font-weight: 500;
}
.register label {
	margin-bottom: 5px;
	font-weight: 500;
}
.login button, .register button{border:none;width: 100%;}
.login p, .register p {
	color: #232434;
	font-weight: 600;
	text-align: center;
	margin-top: 15px;
}
.login p a, .register p a{color: #2c7aff;}
/*
* ----------------------------------------------------------------------------------------
* 21.END LOGIN AND REGISTER PAGE DESIGN
* ----------------------------------------------------------------------------------------
*/

/*
* ----------------------------------------------------------------------------------------
* 22.START CONTACT PAGE DESIGN
* ----------------------------------------------------------------------------------------
*/
.contact_area {
	background: #edf4f7;
}
.contact label {
	margin-bottom: 5px;
	font-weight: 700;
	color: #1a2d62;
}
.contact input {
	border-radius: 5px;
	box-shadow: none;
	/* color: rgb(26, 45, 98); */
	font-size: 16px;
	font-weight: 400;
	height: 70px;
	padding: 10px 10px 10px 30px;
	width: 100%;
	margin-bottom: 30px;
	background: #fff;
}
.contact textarea {
	border-radius: 0px;
	-webkit-box-shadow: none;
	        box-shadow: none;
	color: #1a2d62;
	font-size: 16px;
	font-weight: 400;
	padding: 10px 10px 10px 30px;
	width: 100%;
	margin-bottom:60px;
	background: #fff;
}
.contact input:focus {
background: #fff;
	border: 1px solid #fff;
    -webkit-box-shadow: none;
            box-shadow: none;
    outline: 0 none;
	color: #1a2d62;
}
.contact textarea:focus {
background: #fff;
border: 1px solid #fff;
    -webkit-box-shadow: none;
            box-shadow: none;
	color: #1a2d62;
}
.contact button{border:none;}
.contact button {
	padding-bottom: 50px;
	background: #edf4f7;
}
.address_area {
	background: #edf4f7;
}
.single_address {
	padding: 40px;
	border-radius:5px;
	background: #fff;
}
@media only screen and (max-width:480px) { 
    .single_address{margin-bottom:30px; }
}
.single_address i {
	font-size: 42px;
	margin-bottom: 20px;
	display: inline-block;
}
.single_address h4{
text-transform: capitalize;
margin-bottom: 20px;
font-weight: 700;
}
.single_address p{}
.map{}
.map iframe {
	width: 100%;
	background: #edf4f7;
	height: 600px;
	padding: 20px;
	margin-left: 30px;
	box-shadow: rgb(255, 255, 255) -4px -4px 4px 0px, rgba(121, 144, 161, 0.35) 3px 3px 6px 0px;
}
@media only screen and (max-width:880px) { 
.map iframe {margin-left:0px; }
}
/*
* ----------------------------------------------------------------------------------------
* 22.END CONTACT PAGE DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 23. START ABOUT PAGE & SINGLE USE CASE CSS
* ----------------------------------------------------------------------------------------
*/
.about-page{padding-bottom:50px;}
.ap-content{
padding:30px;
border:1px solid #ededed;
margin-bottom:30px;
}
.ap-content h1{
font-weight:700;
font-size:40px;
margin-bottom:20px;
}
.ap-content p{}
.ap-content a {
	color: #1a2d62;
}

.ss_case_one{
padding:30px;
border:1px solid #ededed;
margin-bottom:30px;
-webkit-box-shadow: 0px 0px 150px 0px rgba(78, 67, 250, 0.06);
        box-shadow: 0px 0px 150px 0px rgba(78, 67, 250, 0.06);
overflow: hidden;
}
.ss_case_one img {
	float: left;
	margin-right: 30px;
	width: 300px;
}
.ss_case_one h2 {
	font-weight: 700;
	font-size: 46px;
	margin-bottom: 20px;
	overflow: hidden;
	padding-top: 50px;
}
.ss_case_one p{overflow: hidden;}

.ss_case_two{
padding:30px;
border:1px solid #ededed;
margin-bottom:30px;
-webkit-box-shadow: 0px 0px 150px 0px rgba(78, 67, 250, 0.06);
        box-shadow: 0px 0px 150px 0px rgba(78, 67, 250, 0.06);
overflow: hidden;
}
.ss_case_two img{width: 300px;}
.ss_case_two h2{
margin-top: 50px;
font-weight:700;
font-size:46px;
margin-bottom:20px;
overflow: hidden;
}
.ss_case_two p{overflow: hidden;}
.ss_case_left {
	float: left;
	margin-right: 30px;
	width: 534px;
}
@media only screen and (max-width:768px) { 
.ss_case_left {
	margin-right:0px;
	margin-bottom:60px;
	width: 100%;
}
}
.ss_case_mr{margin-bottom: 250px;}

/*
* ----------------------------------------------------------------------------------------
* 23. END ABOUT PAGE & SINGLE USE CASE CSS
* ----------------------------------------------------------------------------------------
*/


/*24. START NEWSLETTER*/
.subs_form{}
.subs_form h3 {
	font-weight: 700;
	color: #fff;
	font-size: 40px;
	margin-bottom: 20px;
}
.subs_form p{color: #fff;}

.home_subs {
	display: block;
	position: relative;
	margin-top: 30px;
	width: 100%;
}
.home_subs button{border:none;}
.newsletter_area {
	background:#072032;
}
.subscribe__input {
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 500px;
	color: #1a2d62;
	display: block;
	height: 70px;
	letter-spacing: 0.4px;
	margin: 0;
	padding: 0 60px 0 20px;
	text-transform: capitalize;
	width: 100%;
}
.subscribe__input:focus{
outline:0 none;
box-shadow:none;
border: 1px solid #2c7aff!important;
}
.subscribe__btn {
	background-color: #2c7aff;
	border-radius: 100px;
	color: #fff;
	cursor: pointer;
	display: block;
	font-size: 22px;
	height: 70px;
	position: absolute;
	right: 0;
	top: 0;
	width: 170px;
	transition:0.3s;
}
.subscribe__btn:hover {
background: #072032;
	color:#fff;
}
/*24. END NEWSLETTER*/

/*
* ----------------------------------------------------------------------------------------
* 24. START FREE COURSE+INSTRUCTOR CSS
* ----------------------------------------------------------------------------------------
*/
.insfreecourse {
	background:#edf4f7;
	padding-bottom:30px;
}
.single_ins {
	background: #fff;
	padding: 40px;
	overflow: hidden;
	margin-bottom: 50px;
	/* box-shadow: rgb(255, 255, 255) -4px -4px 4px 0px, rgba(121, 144, 161, 0.35) 3px 3px 6px 0px; */
}
.single_ins_content {
	float: left;
	width: 50%;
	margin-top: 30px;
}
@media only screen and (max-width:480px){
.single_ins_content {
	float: left;
	width: 100%;
	margin-bottom:30px;
}
}
.single_ins_content h4 {
	font-weight: 400;
	font-size: 18px;
	color: #2c7aff;
	text-transform: capitalize;
}
.single_ins_content h1 {
	font-weight: 600;
	margin-bottom: 20px;
}
.single_ins_content p{margin-bottom: 40px;}
.single_ins_img{}
.single_ins_img img {
	width: 50%;
}
/*START HOME 2 BECOME INSTRUCTOR*/
.insfreecourse2{
	padding-top:0px;
	padding-bottom:50px;
}
.single_ins2 {
	background:#FFF6C4;
	position: relative;
	padding: 80px 40px;
	overflow: hidden;
	margin-bottom: 30px;
	border-radius: 5px;
}
.si_bg{background:#e1f8ed;}
.single_ins_content2 {position: relative;}
.single_ins_content2 h4 {
	font-weight: 400;
	font-size: 18px;
	text-transform: capitalize;
}
.single_ins_content2 h1 {
	font-weight: 600;
	margin-bottom: 10px;
}
.single_ins_content2 p{margin-bottom: 40px;}

/*END HOME 2 BECOME INSTRUCTOR*/
/*
* ----------------------------------------------------------------------------------------
* 24. END FREE COURSE+INSTRUCTOR CSS
* ----------------------------------------------------------------------------------------
*/

/*START RANGE SLIDER*/
.rs-slider {
	position: relative;
	background: #fff;
	box-shadow: 0px 0px 150px 0px rgba(78, 67, 250, 0.06);
	padding: 30px;
	margin-bottom: 30px;
}
.rs-slider h4 {
	font-size: 16px;
	font-weight: 800;
	text-transform: uppercase;
	margin-bottom: 20px;
	padding-bottom: 10px;
	border-bottom: 1px solid #ededed;
}
	
.range-slider{
    padding: 10px 55px 10px 0;
    position: relative;
}
.range-slider input[type="range"]{
    background: transparent;
    width: 100%;
    height: 8px;
    outline: none;
    border: 2px solid #2c7aff;
    border-radius: 10px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: relative;
    z-index: 1;
    transition: all 0.3s ease;
}
.range-slider input[type="range"]::-webkit-slider-thumb{
    background: #2c7aff;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.15s ease-in-out 0s;
    -webkit-appearance: none;
    appearance: none;
}
.range-slider input[type="range"]:active::-webkit-slider-thumb,
.range-slider input[type="range"]::-webkit-slider-thumb:hover{
    transform: rotate(45deg);
    border-radius: 50% 0 50% 50%;
}
.range-slider input[type="range"]:active::-webkit-slider-thumb{
    box-shadow: 0 0 0 5px #fff inset,0 0 5px #2c7aff;
}
.range-slider input[type="range"]::-moz-range-thumb{
    background: #2c7aff;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    transition: all 0.15s ease-in-out 0s;
}
.range-slider input[type="range"]:active::-moz-range-thumb,
.range-slider input[type="range"]::-moz-range-thumb:hover{
    transform: rotate(45deg);
    border-radius: 50% 0 50% 50%;
}
.range-slider input[type="range"]:active::-moz-range-thumb{
    box-shadow: 0 0 0 5px #fff inset,0 0 5px #2c7aff;
}
.range-slider .range-value{
    color: #fff;
    background: #2c7aff;
    font-size: 18px;
    font-weight: 600;
    text-align: center;
    width: 45px;
    padding: 7px 0;
    border-radius: 50%;
    box-shadow: 4px 4px 0 rgba(0,0,0,0.1);
    transform: translateY(50%);
    position: absolute;
    bottom: 50%;
    right: 0;
}
::-moz-range-track{
    background: transparent;
    border: 0;
}
/*END RANGE SLIDER*/


/*START SHOP CSS*/
.product_area_top{padding-bottom:50px;}
.product_item .mix{
	display: none;
}
.product_filter {
	margin-bottom: 10px;
}
.product_filter ul {
	margin: 0px 0 40px;
	padding: 0;
	list-style: none;
}
.product_filter ul li {
	font-weight: 500;
	text-transform: capitalize;
	display: inline-block;
	cursor: pointer;
	padding: 10px 22px;
	font-size: 16px;
	border: 1px solid transparent;
	transition: .5s;
	/* letter-spacing: 1px; */
	border-radius: 20px;
	margin: 0px;
	color: #1a2d62;
	line-height: 1;
	border: 1px solid #eee;
	margin: 0 10px;
}
.product_filter .filter.active {
	color: #fff;
	border-color: #2c7aff;
	background: #2c7aff;
	font-weight: 500;
}

.product-grid{
    text-align: center;
    padding: 0 0 72px;
    border: 1px solid rgba(0,0,0,0.1);
    overflow: hidden;
    position: relative;
    z-index: 1;
	margin-bottom: 30px;
}
.product-grid .product-image{
    position: relative;
    transition: all 0.3s ease 0s;
}
.product-grid .product-image a{ display: block; }
.product-grid .product-image img{
    width: 100%;
    height: auto;
}
.product-grid .pic-1{
    opacity: 1;
    transition: all 0.3s ease-out 0s;
}
.product-grid:hover .pic-1{ opacity: 1; }
.product-grid .pic-2{
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    transition: all 0.3s ease-out 0s;
}
.product-grid:hover .pic-2{ opacity: 1; }
.product-grid .social{
    width: 150px;
    padding: 0;
    margin: 0;
    list-style: none;
    opacity: 0;
    transform: translateY(-50%) translateX(-50%);
    position: absolute;
    top: 60%;
    left: 50%;
    z-index: 1;
    transition: all 0.3s ease 0s;
}
.product-grid:hover .social{
    opacity: 1;
    top: 50%;
}
.product-grid .social li{ display: inline-block; }
.product-grid .social li a{
    color: #2c7aff;
    background-color: #fff;
    font-size: 16px;
    line-height: 43px;
    text-align: center;
    height: 40px;
    width: 40px;
    margin: 0 2px;
    display: block;
    position: relative;
    transition: all 0.3s ease-in-out;
	border-radius: 50%;
}
.product-grid .social li a:hover{
    color: #fff;
    background-color: #2c7aff;
}
.product-grid .social li a:before,
.product-grid .social li a:after{
    content: attr(data-tip);
    color: #fff;
    background-color: #000;
    font-size: 12px;
    letter-spacing: 1px;
    line-height: 20px;
    padding: 1px 5px;
    white-space: nowrap;
    opacity: 0;
    transform:translateX(-50%);
    position: absolute;
    left: 50%;
    top: -30px;
}
.product-grid .social li a:after{
    content: '';
    height: 15px;
    width: 15px;
    border-radius: 0;
    transform:translateX(-50%) rotate(45deg);
    top: -20px;
    z-index: -1;
}
.product-grid .social li a:hover:before,
.product-grid .social li a:hover:after{
    opacity: 1;
}
.product-grid .product-new-label,
.product-grid .product-discount-label{
    color: #fff;
    background-color: #2c7aff;
    font-size: 12px;
    text-transform: uppercase;
    padding: 2px 10px;
    display: block;
    position: absolute;
    top: 13px;
    left: 13px;
	font-family: 'Noto Sans JP', sans-serif;
}
.product-grid .product-discount-label{
    background-color: #333;
    left: auto;
    right: 0;
}
.product-grid .rating{
	color: #fec42d;
	cursor: pointer;
    font-size: 13px;
    padding: 12px 0 0;
    margin: 0;
    list-style: none;
    position: relative;
    z-index: -1;
}
.product-grid .rating li.disable{ color: rgba(0,0,0,0.2); }
.product-grid .product-content{
    background-color: #fff;
    text-align: center;
    padding: 0px 0 5px;
    margin: 0 auto;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -25px;
    z-index: 1;
    transition: all 0.3s;
}
.product-grid:hover .product-content{ bottom: 7px; }
.product-grid .title{
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.5px;
    text-transform: capitalize;
    margin: 5px 0 0px;
    transition: all 0.3s ease 0s;
}
.product-grid .title a {
	color: #1a2d62;
	font-size: 18px;
	margin: 10px 0;
	display: block;
	font-weight: 500;
}
.product-grid .title a:hover{ color: #2c7aff; }
.product-grid:hover .title a{ color: #2c7aff; }
.product-grid .price {
    color:#333;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: 0.6px;
    margin-bottom:3px;
    text-align: center;
    transition: all 0.3s;
}
.product-grid .price span {
    color: #999;
    font-size: 13px;
    font-weight: 400;
    text-decoration: line-through;
    margin-left: 3px;
    display: inline-block;
}
.product-grid .add-to-cart{
    color: #000;
    font-size: 13px;
    font-weight: 600;
}



/* -------- Product Details Page Css -------- */

.pd_title {
	color: #2c7aff;
	display: block;
	font-size: 18px;
	font-weight: 700;
	line-height: 12px;
	margin-bottom: 30px;
	text-transform: uppercase;
	width: 100%;
	transition:.5s;
}
.pd_title:hover {
	color: #000;
}

/* サムネイル画像リストの簡易スタイル */
.pd_thumb_list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.pd_thumb_list li {
    float: left;
    margin-right: 10px;
    margin-bottom: 10px;
    border: 1px solid #eee;
    transition: 0.3s;
}

.pd_thumb_list li:hover {
    border-color: #2c7aff;
}

.pd_thumb_list li.active {
    border-color: #2c7aff;
    opacity: 0.7;
}

.pd_price_dtls {
	margin-bottom: 38px;
}
.pd_price{
	float:left;
}
.pd_ratng{
	float:right;
}
.pd_price .new {
	color: #303030;
	font-size: 18px;
	font-weight: 700;
	margin-right: 11px;
}
.pd_price span {
	line-height: 16px;
	display: block;
	font-weight: 500;
	float: left;
}
.pd_price .old {
	color: #909090;
	font-size: 14px;
	position: relative;
	padding: 0 5px 0 4px;
}
.pd_price .old::before {
	background: #909090;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	top: 6px;
	width: 100%;
}
.pd_ratng .rtngs i {
	display: block;
	float: left;
	font-size: 15px;
	margin-right: 3px;
}
.pd_text {
	margin-bottom: 30px;
}

.pd_text h4 {
	font-size: 14px;
	font-weight: 500;
	margin: 0 0 12px;
	text-transform: uppercase;
}
.pd_img_size {
	margin-bottom: 38px;
	overflow: hidden;
}
.pd_img_size h4 {
	font-size: 14px;
	font-weight: 500;
	margin: 0 0 12px;
	text-transform: uppercase;
}
.pd_img_size a {
	border: 1px solid #eeeeee;
	color: #303030;
	display: block;
	float: left;
	height: 36px;
	line-height: 36px;
	margin-right: 10px;
	text-align: center;
	text-transform: uppercase;
	width: 36px;
	transition:.5s;
}
.pd_img_size a:hover {
	border: 1px solid #2c7aff;
	color: #2c7aff;
}
.pd_clr_qntty_dtls {
	margin-bottom: 40px;
}
.pd_clr {
	width: 50%;
	float:left;
}
.pd_clr h4 {
	font-size: 14px;
	font-weight: 500;
	margin: 0 0 12px;
	text-transform: uppercase;
}
.pd_clr a.active {
	border: 6px solid #fff;
	outline: 1px solid #303030;
	outline-offset: -1px;
	overflow: hidden;
}
.pd_clr a {
	display: block;
	float: left;
	height: 36px;
	line-height: 36px;
	margin-right: 10px;
	text-indent: -999999px;
	width: 36px;
}
.pd_qntty_area {
	width: 50%;
	float:left;
}
.pd_qntty_area h4 {
	font-size: 14px;
	font-weight: 500;
	margin: 0 0 12px;
	text-transform: uppercase;
}
.pd_qntty_area .pd_qty {
	border: 1px solid #ddd;
	width: auto;
	display: inline-block;
}
.pd_qntty_area .pd_qty input[type="number"] {
	background: transparent none repeat scroll 0 0;
	border-color: #ddd;
	border-style: solid;
	border-width: 0 1px 0 0;
	color: #303030;
	float: left;
	height: 35px;
	padding: 0 5px;
	text-align: center;
	width: 54px;
}

.pd_qntty_area .pd_qty .qttybtn.inc {
	margin-top: 5px;
}
.pd_qntty_area .pd_qty .qttybtn {
	cursor: pointer;
	display: block;
	overflow: hidden;
	text-align: center;
}
.pd_qntty_area .pd_qty .qttybtn i {
	display: block;
	line-height: 12px;
}
.pd_btn {
	margin-bottom: 38px;
}
.btn_icn {
	background: #fff;
	color: #2c7aff!important;
	border: 1px solid #2c7aff;
	padding: 8px 15px;
	margin-left: 10px;
	transition: .5s;
}
.btn_icn:hover {
	background: #2c7aff;
	color: #fff!important;
}
.pd_share_area h4 {
	font-size: 14px;
	font-weight: 500;
	margin: 0 0 12px;
	text-transform: uppercase;
}
.pd_social_icon a {
	color: #606060;
	display: block;
	float: left;
	font-size: 20px;
	line-height: 32px;
	margin-right: 20px;
	transition:.5s;
}
.pd_social_icon a:hover {
	color: #2c7aff;
}
.prdct_dtls_content {
	margin-top: 40px;
}
.prdct_dtls_content h3 {
font-size: 1.2rem;
font-weight: bold;
}
.pd_tab_area{
	margin-top:30px;
	background: #fff none repeat scroll 0 0;
	border: 1px solid rgba(0,0,0,.02);
	box-shadow: 0 0 4px rgba(0,0,0,.02);
	display: block;
	padding: 31px 32px;
}
.pd_tab_area p{
	margin-bottom: 15px;
}
.pd_tab_area ul{
	display: inline-block;

}

.pd_tab_area li{
	padding: 5px 0;
	display: block;
	font-weight: 00;
}
.pd_tab_btn {
	margin-bottom: 10px;
	border: none;
}
.pd_tab_btn li {
	display: block;
	float: left;
	margin-right: 10px;
	padding-bottom: 11px;
	position: relative;
}
.pd_tab_btn li a {
	color: #000;
	display: block;
	font-weight: 400;
	text-transform: capitalize;
	padding: 7px 20px;
	border-radius: 20px;
	transition: .5s;
}
.pd_tab_btn li a.active{
	background: #2c7aff;
	color: #fff;
	box-shadow: 4px 3px 5px rgba(0,0,0,0.07);
}

.single_pd_tab {
	text-align: left;
}
.pda_rtng_area {
	margin-bottom: 20px;
}
.pda_rtng_area h4 {
	font-size: 18px;
	font-weight: 700;
	line-height: 14px;
	margin: 0 0 7px;
	color:#000;
}
.pda_rtng_area h4 span {
	color: #909090;
	font-size: 12px;
	font-weight: 400;
	line-height: 10px;
}
.pda_rtng_area > span {
	color: #909090;
	display: block;
	font-size: 12px;
	font-weight: 300;
	line-height: 10px;
}
.rtng_cmnt_area {
	margin-bottom: 40px;
}
.rtng_cmnt_area .single_rtng_cmnt {
	margin-bottom: 30px;
}
.rtngs {
	float: right;
	color: #fec42d;
}
.rtng_cmnt_area .single_rtng_cmnt .rtngs i {
	color: #fec42d;
	font-size: 16px;
}
.rtng_cmnt_area .single_rtng_cmnt .rtngs span {
	color: #909090;
}
.rtng_author {
	float: left;
}
.rtng_cmnt_area .single_rtng_cmnt .rtng_author h3 {
	color: #606060;
	float: left;
	font-size: 14px;
	font-weight: 600;
	margin: 0;
	line-height: 13px;
}
.rtng_cmnt_area .single_rtng_cmnt .rtng_author span {
	color: #909090;
	display: block;
	float: left;
	font-size: 12px;
	font-weight: 300;
	line-height: 13px;
	margin-left: 15px;
}
.rtng_cmnt_area .single_rtng_cmnt p {
	display: block;
	overflow: hidden;
	width: 100%;
}
.rtng_cmnt_form_area h3 {
	font-size: 14px;
	margin: 0 0 30px;
	color: #000;
	text-transform: uppercase;
	font-weight: 500;
	line-height: 12px;
}
.rcf_pdnglft {
	padding-left: 0;
}
.rp_title h3 {
	font-size: 18px;
	letter-spacing: 2px;
	line-height: 24px;
	margin: 0;
	position: relative;
	text-transform: uppercase;
	padding-bottom: 13px;
	color: #000;
	font-weight: 700;
	margin-bottom: 18px;
}


.related_prdct_area {
	padding: 50px 0;
}

.gray_section{
	background: #f9f9f9;
}
.acc_btn {
	background: #2c7aff;
	border: 1px solid transparent;
	border-radius: 0;
	color: #fff!important;
	padding: 8px 20px;
	transition:.5s;
	margin-top:10px;
	text-transform: capitalize;
	
}
.acc_btn:hover {
	background: #000;
	border: 1px solid transparent;
	color: #fff;
}
.input-area input {
	background: #f2f2f2;
	border: none;
	height: 52px;
	width: 100%;
	margin-bottom: 15px;
	padding: 20px;
}
.input-area textarea {
	background: #f2f2f2;
	border: none;
	width: 100%;
	margin-bottom: 15px;
	padding: 20px;
}
/*END SHOP CSS*/


.single_pro_list{
border:2px solid #ffffff;
box-shadow: 0px 30px 70px 0px rgba(8, 0, 42, 0.1);
padding:30px;
border-radius:30px;
margin-bottom:30px;
transition:0.3s;
}
.single_pro_list:hover{border:2px solid #5B33B6;}
.single_pro_list a{display: block;}
.single_pro_list img {
	width: 170px;
	margin-bottom: 20px;
}
.single_pro_list h4 {
	font-size: 22px;
	margin: 10px 0;
	font-weight: 500;
}
.single_pro_list span{color: #333;font-size: 14px;}

/*
* ----------------------------------------------------------------------------------------
* Pricing Table
* ----------------------------------------------------------------------------------------
*/
.pricing-area{background:#f4f4f4;}
.single-pricing-card {
  padding: 35px;
  margin-bottom: 25px;
   transition: all 0.3s ease 0s;
  background-color: #fff;
  border: 1px solid rgba(207, 217, 249, 0.5);
}
.single-pricing-card h3 {
	font-size: 24px;
	margin-bottom: 10px;
	font-weight: 500;
}
.single-pricing-card h1 {
  font-size: 40px;
  margin-top: 25px;
  margin-bottom: 30px;
}
.single-pricing-card h1 sub {
  font-size: 16px;
  font-weight: 400;
}
.single-pricing-card .list {
  margin-bottom: 40px;
}
.single-pricing-card .list li {
  position: relative;
  margin-bottom: 16px;
}
.single-pricing-card .list li i {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  font-size: 20px;
  line-height: 40px;
  margin-right: 10px;
  text-align: center;
  border-radius: 100%;
  display: inline-block;
  background-color: rgba(44,122,255,0.1);
}
.single-pricing-card .list li:last-child {
  margin-bottom: 0;
}
.single-pricing-card .demo {
  z-index: 1;
  width: 100%;
  padding: 16px 24px;
  padding-left: 48px;
  border-radius: 5px;
  position: relative;
  text-align: center;
  display: inline-block;
  transition: all 0.3s ease 0s;
  border: 1px solid #eee;
  font-size: 15px;
  font-weight: 600;
}
.single-pricing-card .demo i {
  top: 50%;
  width: 13px;
  height: 13px;
  content: "";
  font-size: 0;
  line-height: 13px;
  margin-left: -22px;
  position: absolute;
  border-radius: 100%;
  display: inline-block;
  background-color: #FF8408;
  transform: translateY(-50%);
  transition: all 0.3s ease 0s;
}
.single-pricing-card .demo::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  z-index: -1;
  border-radius: 5px;
  visibility: hidden;
 transition: all 0.3s ease 0s;
  background: linear-gradient(96deg, #6600FC 0%, #FA3988 51.56%, #FF8408 100%);
}
.single-pricing-card .default-btn {
  width: 100%;
  text-align: center;
  transition: var(--transition);
}
.single-pricing-card:hover {
  box-shadow: 0px 4px 20px 0px rgba(207, 217, 249, 0.35);
}

/*山元追加  */
.fuchidori {
  color: #000;
  text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;
}
.fuchidori_black {
  font-weight: bold;
  color: #fff;
  text-shadow:3px 3px 0 #3d3d3d, -3px -3px 0 #3d3d3d,
              -3px 3px 0 #3d3d3d, 3px -3px 0 #3d3d3d,
              0px 3px 0 #3d3d3d,  0-3px 0 #3d3d3d,
              -3px 0 0 #3d3d3d, 3px 0 0 #3d3d3d;
}

/* page-privacy.php */
.border_box {
  padding: 30px;
  border-radius: 10px;
  margin: 30px 0;
  border: 1px solid #ececec;
}

/* category-news.php */
#news_list .row {
  border-bottom:1px solid #e6e6e6
}
#news_list .col-lg-12 {
  border-top:1px solid #e6e6e6;
  padding:32px 0
}
#news_list .col-lg-12 a {
  display:-webkit-box;
  display:-moz-box;
  display:-ms-flexbox;
  display:-webkit-flex;
  display:flex;
  justify-content:space-between;
  position:relative;
  align-items:center
}
#news_list .col-lg-12 a:hover img {
  transition:.2s all;
  opacity:.8
}
#news_list .imgArea {
  width:235px;
  height:124px;
  overflow:hidden;
  background:#fff
}
#news_list .imgArea img {
  transition:.2s all
}
#news_list .txtArea {
  width:calc(100% - 260px)
}
#news_list .title {
  font-size:1.3rem;
  line-height:1.5;
  font-weight:500;
  color:#363636;
  transition: 0.5s;
}
#news_list .title:hover {
color: #FF0004;
}
#news_list .date {
  font-size:1rem;
  margin-top:8px;
  line-height:1;
  color:#363636
}

@media(max-width: 767px) {
  #news_list .container {
    padding:0 20px;
    padding-bottom:72px
  }
  #news_list .col-lg-12 {
    padding:25px 0
  }
  #news_list .col-lg-12 a {
    position:relative;
    display:block
  }
  #news_list .imgArea {
    width:118px;
    height:62px
  }
  #news_list .txtArea {
    width:100%
  }
  #news_list .title {
    font-size:1.1rem;
    margin-top:10px
  }
  #news_list .wrap {
    position:absolute;
    left:134px;
    top:0
  }
  .btnWrap {
    margin-top:40px
  }
}

/* カートページ全体 */
.cart-page {
    background-color: #f8f9fa;
}

/* カード風のコンテナ */
.cart-card {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    overflow: hidden;
    border: 1px solid #eee;
}

.cart-card-header {
    background: #1a2d62;
    color: #fff;
    padding: 15px 25px;
    font-weight: bold;
    font-size: 18px;
}

.cart-card-body {
    padding: 30px;
}

/* Mailform Proの基本構造の調整 */
.mailform dt {
    font-weight: bold;
    color: #333;
    padding: 15px 0 5px 0;
    border-top: 1px solid #f0f0f0;
}
.mailform dt:first-child { border-top: none; }

.mailform dd {
    margin-bottom: 20px;
    padding-bottom: 10px;
}

/* バッジ（必須・任意） */
.must { background: #e63946; color: #fff; padding: 2px 8px; font-size: 11px; border-radius: 3px; vertical-align: middle; margin-right: 5px; }
.any { background: #adb5bd; color: #fff; padding: 2px 8px; font-size: 11px; border-radius: 3px; vertical-align: middle; margin-right: 5px; }

/* 入力要素 */
.cart-page input[type="text"],
.cart-page input[type="email"],
.cart-page input[type="tel"],
.cart-page textarea,
.cart-page select {
    border: 1px solid #ced4da;
    border-radius: 5px;
    padding: 10px;
    transition: border-color 0.2s;
}

.cart-page input:focus {
    border-color: #2c7aff;
    outline: none;
}

/* 姓名などの並び */
.inline-fields {
    display: flex;
    gap: 10px;
}
.inline-fields input { flex: 1; }

/* ラジオボタンのグループ */
.radio-group label {
    display: block;
    background: #fdfdfd;
    border: 1px solid #eee;
    padding: 12px 15px;
    margin-bottom: 8px;
    border-radius: 6px;
    cursor: pointer;
    transition: 0.2s;
}
.radio-group label:hover { background: #f0f7ff; border-color: #2c7aff; }

/* 合計金額表示 */
.total-price {
    font-size: 32px;
    font-weight: 800;
    color: #2c7aff;
    line-height: 1;
}

/* 共通：注文内容を確認する / 送信するボタン（リッチな青ボタン） */
.mfp_buttons button[type="submit"] {
    background: #2c7aff;
    color: #fff;
    border: none;
    padding: 20px 60px;
    font-size: 20px;
    font-weight: bold;
    border-radius: 50px;
    cursor: pointer;
    transition: 0.3s;
    box-shadow: 0 4px 15px rgba(44, 122, 255, 0.3);
    margin: 10px auto;
    display: inline-block;
}

.mfp_buttons button[type="submit"]:hover {
    background: #1a2d62;
    transform: translateY(-2px);
}

/* 修正：第1フェーズの「配送方法と決済方法のリセット」ボタン */
/* summary="注文情報" 内の reset ボタンだけをボタン形状にする */
.mfp_phase[summary="注文情報"] .mfp_buttons button[type="reset"] {
    display: inline-block;
    width: auto;
    background: #f8f9fa;
    color: #333;
    border: 1px solid #ced4da;
    padding: 10px 30px;
    font-size: 14px;
    text-decoration: none;
    border-radius: 50px;
    margin-top: 0;
    transition: 0.5s;
}

.mfp_phase[summary="注文情報"] .mfp_buttons button[type="reset"]:hover {
    background: #2c7aff;
    border-color: #adb5bd;
    color: #fff;
}

/* 第2フェーズ以降の「リセット」（入力全消去）は、控えめな下線リンクのままにする */
.mfp_phase[summary="個人情報"] .mfp_buttons button[type="reset"] {
    background: none;
    border: none;
    color: #999;
    text-decoration: underline;
    margin-top: 20px;
    display: block;
    width: 100%;
    cursor: pointer;
    font-size: 14px;
}
/* 注文情報フェーズの「リセット」ボタン（グレー枠） */
.mfp_phase[summary="注文情報"] .mfp_buttons button[type="reset"] {
    display: inline-block;
    width: auto;
    background: #f8f9fa;
    color: #333;
    border: 1px solid #ced4da;
    padding: 10px 30px;
    font-size: 14px;
    text-decoration: none;
    border-radius: 50px;
}

/* 個人情報フェーズの「リセット」ボタン（下線リンク） */
.mfp_phase[summary="個人情報"] .mfp_buttons button[type="reset"] {
    background: none;
    border: none;
    color: #999;
    text-decoration: underline;
    margin-top: 20px;
    display: block;
    width: 100%;
    cursor: pointer;
}

/* 住所入力 */
.address-fields span {
    font-size: 12px;
    color: #777;
    display: block;
    margin-bottom: 2px;
}

/* カートの中身（JSで生成されるテーブル）の調整 */
#mfp_shopping_cart_dir {
    width: 100%;
    margin-bottom: 20px;
    border-collapse: collapse;
}
#mfp_shopping_cart_dir th { background: #f8f9fa; padding: 10px; border: 1px solid #eee; }
#mfp_shopping_cart_dir td { padding: 10px; border: 1px solid #eee; vertical-align: middle; }
/* スマホ表示（画面幅 768px 以下）の調整 */
@media screen and (max-width: 992px) {
    /* 横並びのフィールドを縦並びに切り替え */
    .inline-fields {
        display: flex;
        flex-direction: column;
        gap: 10px; /* 入力欄の間の余白 */
    }

    /* inputの幅を親要素いっぱいに広げる */
    .inline-fields input {
        width: 100% !important;
        box-sizing: border-box; /* 枠線を含めた幅計算 */
    }

    /* 郵便番号などのzip-groupも調整 */
    .zip-group {
        display: flex;
        flex-direction: column;
    }
}

.bg_blue {
background-color: #A8D9F8;
}

/* --- お問い合わせフォーム デザインカスタマイズ */
div.wpcf7 { background:#fafafa; border:1px solid #ddd; padding:0px; -moz-border-radius:10px; -khtml-border-radius:10px; -webkit-border-radius:10px; border-radius:10px; margin:0 0 30px 0; }
div.wpcf7 p { padding:20px 20px 0; margin:0; font-size:11px; color: #000; }
div.wpcf7 input, .wpcf7 textarea { border:1px solid #ccc; padding:8px; font-size:14px; }
div.wpcf7 textarea { width:97.5%; height:300px; }
.wpcf7-list-item { display: block; }
div.wpcf7 input.wpcf7-submit {
   cursor:pointer; color:#fff; font-weight:bold; font-size:14px; width:50%; height:45px; margin:0 auto; display:block;
   -moz-border-radius:5px; -khtml-border-radius:5px; -webkit-border-radius:5px; border-radius:5px;
   background:#333; box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.5), inset 0px 32px 0px -12px #808080; border:1px solid #666;
}
div.wpcf7 input.wpcf7-submit:hover { background:#006080; box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.5), inset 0px 32px 0px -12px #007ea8; border:1px solid #006080; }
.wpcf7 input.wpcf7-submit:active { box-shadow:none; bottom:-2px; position:relative; }
.wpcf7 input:focus, .wpcf7 textarea:focus { border:1px solid #009de1; }
.wpcf7-captchac { border:1px solid #ccc; }
div.wpcf7 input { width: 95%; }
span.wpcf7-radio {  }
span.wpcf7-list-item { display: block;white-space: nowrap;word-break: keep-all;}
span.wpcf7-list-item input[type="radio"] { width: 10px; }

div.wpcf7 input[type=radio] {
    width: 30px;
    height: 30px;
    vertical-align: middle;
    margin: 0 10px 5px 0
}

div.wpcf7 input#zip {
    width: 50%;
}
/* エラー個所をわかりやすく表示 */
.wpcf7 .wpcf7-not-valid { background: #ffb6c1; }
.wpcf7 span.wpcf7-not-valid-tip {font-size: 80%;}
.wpcf7 .wpcf7-response-output {margin: 10px 0 0; padding: 8px 35px 8px 14px; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
    -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
.wpcf7 .wpcf7-validation-errors {color: #B94A48; background-color: #F2DEDE; border: 1px solid #EED3D7;}
.wpcf7 .wpcf7-mail-sent-ok {color: #3A87AD; background-color: #D9EDF7; border: 1px solid #BCE8F1;}
/* 必須赤色表示 */
.wpcf7 .required { color: #f00;}
/* 任意緑色表示 */
.wpcf7 .any{ color: #080;}

/* 「入力内容に不備があります。確認してもう一度送信してください。」のダブリをひとつ消す */
.screen-reader-response {
display: none;
}
/* 「必須項目に記入もれがあります。」を改行させる */
span.wpcf7-not-valid-tip {
display: inline-block;
}

/* 新着情報投稿時、画像配置を整える */
/* 画像配置 左 */
img.alignleft {
        text-align: left;
}
/* 画像配置 中央 */
img.aligncenter {
        display: block;
        margin: 1px auto;
}
a:hover img.aligncenter {
        display: block;
        margin: 1px auto;
}
/* 画像配置 右 */
img.alignright {
        display: block;
        margin: 1px 1px 1px auto;
}
a:hover img.alignright {
        display: block;
        margin: 1px 1px 1px auto;
}

/* TOP NEWS用 */
.top_news_dt .top_news_list {
display: flex;
justify-content: flex-start;
border-bottom: 1px solid #ccc;
}
.top_news_dt .top_news_list dt {
width: 25%;
}
.top_news_dt .top_news_list dd {
width: 75%;
}
.top_news_dt .top_news_list dt,
.top_news_dt .top_news_list dd {
  padding: 5px;
}

@media (max-width: 768px) {
.top_news_dt .top_news_list {
display: block;
}
.top_news_dt .top_news_list dt {
width: 100%;
}
.top_news_dt .top_news_list dd {
width: 100%;
}
}

.top_news .btn-link {
padding: 20px 0 30px 0;
  color: var(--heading-color);
  text-decoration: none;
  font-weight: 400;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: all 0.3s ease;
}
.top_news .btn-link:hover {
  color: var(--accent-color);
}
.top_news .btn-link:hover i {
  transform: translateX(4px);
}
.top_news .btn-link i {
  transition: transform 0.3s ease;
}
