body {
	margin: 0;
	padding: 0;
	font-family: "Noto Sans JP", sans-serif;
	color: #333;
	-webkit-text-size-adjust: 100%;
	background: #FFF;
	scroll-behavior: smooth;
	position: relative;
	height: 100%;
	font-weight: 400;
	line-height: 2.2em;
	font-size: 18px;
	overflow-x: hidden;
}
a {
	color: #D60000;
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}
a:hover img {
	opacity: 0.8;
 -webk it-opacity: 0.8;
	-moz-opacity: 0.8;
	filter: alpha(opacity=80);
	/* IE lt 8 */
	-ms-filter: “alpha(opacity=80)”;/* IE 8 */
}
a img {
	-webkit-transition: opacity 0.2s ease-out;
	-moz-transition: opacity 0.2s ease-out;
	-ms-transition: opacity 0.2s ease-out;
	transition: opacity 0.2s ease-out;
}
h2, h3, h4, h5 {
	font-weight: 900;
	font-family: "Noto Sans JP", sans-serif;
}

.page-header h1 {
  font-size: var(--h1-font-size);
}

/*ニュースフラッシュ　whole-link*/
.whole-link{
        display: block;
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        width: 100%;
}
.whole-link:hover{
background-color: #fff;
opacity: 0.4;
}
.mod-articlesnews-horizontal.newsflash-horiz.mod-list li {
  position: relative;
}
.newsflash-item {
  position: relative;
}

/**************************************
見出し
*************************************/
.heading01 {
	text-align: center;
	position: relative;
	padding: 0;
	margin: 0 0 40px 0;
	font-size: 2.8rem !important;
	color: #374048;
}

.junior .heading01 ,.junior h2{
  color:var(--color-custom-3);
}
.parent-child .heading01,.parent-child h2 {
  color:var(--color-custom-4);
}

.heading02 {
	position: relative;
	padding: 0;
	margin: 20px 0;
	color: #374048;
	font-size: 1.8rem !important;
	line-height: 1.6em;
}
.heading03 {
	position: relative;
	padding: 0 0 0 0px;
	margin: 30px 0 20px;
	color: #0077BF;
	font-size: 1.8rem !important;
}
.heading03::before {
	content: "●";
	display: inline-block;
	color: #B9DDEF;
margin-right: 8px;
}
.heading03-icnon{
	position: relative;
	padding: 0 0 0 0px;
	margin: 30px 0 20px;
	color: #0077BF;
	font-size: 1.8rem !important;
}
.heading04 {
	color: #374048;
	font-size: 24px;
	margin: 20px 0;
	padding: 0 0 0 40px;
	position: relative;
}
.heading04::before {
	content: "";
	display: inline-block;
	width: 25px;
	height: 25px;
	background-color: var(--color-primary);
	position: absolute;
	left: 0;
	top: 3px;
}
.heading05 {
	position: relative;
	font-size: 1.8rem !important;
	padding: 0 0 20px 0;
	margin: 0 0 20px 0;
	color: #374048;
}
.heading05:after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 8px;
	content: '';
	background-image: -webkit-repeating-linear-gradient(135deg, #2E363D, #2E363D 1px, transparent 2px, transparent 5px);
	background-image: repeating-linear-gradient(-45deg, #2E363D, #2E363D 1px, transparent 2px, transparent 5px);
	background-size: 7px 7px;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
.text_left{
	text-align: left;
}
.bottom_padding70{
	padding-bottom: 70px !important
}
.bottom_padding100{
	padding-bottom: 100px !important
}

.align-center{
	text-align: center;
}
.img-round,.img-round img{
	border-radius: 10px;
}



.p14 {
	font-size: 14px;
	line-height: 1.8em;
	margin: 0;
}
.p18 {
	font-size: 18px;
	line-height: 2.4em;
	margin: 0;
}
.p20 {
	font-size: 20px;
	line-height: 2.6em;
	margin: 0;
}
.txt14{
	font-size: 14px !important;
}
.txt32{
	font-size: 32px !important;
}
/*上部余白*/
.top-70 {
	margin-top: -70px !important;
}
.top0 {
	margin-top: 0px !important;
}
.top10 {
	margin-top: 10px !important;
}
.top20 {
	margin-top: 20px !important;
}
.top30 {
	margin-top: 30px !important;
}
.top40 {
	margin-top: 40px !important;
}
.top50 {
	margin-top: 50px !important;
}
.top60 {
	margin-top: 60px !important;
}
.top70 {
	margin-top: 70px !important;
}
.top80 {
	margin-top: 80px !important;
}
.top90 {
	margin-top: 90px !important;
}
.top100 {
	margin-top: 100px !important;
}
.top110 {
	margin-top: 110px !important;
}
.top120 {
	margin-top: 120px !important;
}
.btm0 {
	margin-bottom: 0 !important;
}

.base-table_narrow th, .base-table_narrow td {
    padding: 5px 10px !important;
}
.base-table td{
   background-color: #fff;
}

/*system-readmore「続きを読む」*/
#tinymce hr#system-readmore {
  background-color: #f473ab;
  border: medium none;
  height: 22px;
  text-align: center;
}
#tinymce hr#system-readmore::before {
  color: #fff;
  content: "▼続きを読む▼";
}

.inner {
	width: 1280px;
	margin: 0 auto;
}
.header-wrap {
	position: relative;
	background-color: var(--color-primary);
	/*position: fixed;*/
	width: 100%;
	z-index: 99;
	/*left: 0;*/
	/*top: 40px;*/
	padding: 0 0 0 25px;
}
.container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container, .t4-masthead .t4-masthead-detail {
	width: 100%;
	max-width: 100%;
	padding: 0;
	box-sizing: border-box;
	overflow: hidden;
}
.container {
	width: 100%;
	max-width: 100%;
	padding: 0 10%;
	box-sizing: border-box;
	overflow: hidden;
}
  ul li::marker {
  color: var(--color-primary);
 font-size: 1.2em;
}  
.junior ul li::marker {
    color:var(--color-custom-3);
}
.parent-child ul li::marker {
    color:var(--color-custom-4);
}

/* .item ul{
	list-style: none;
	margin: 0 auto;
	padding: 0;
}
.item ul>li{
	text-indent: -0.7em;
	margin-left: 2em;
}
.item ul>li::before{
	content: "●";
	display: inline-block;
	color:var(--color-primary);
	font-size: 16px;
margin-right: 8px;
}
 */
.junior .item ul>li::before{
  color:var(--color-custom-3);
}
.parent-child .item ul>li::before{
  color:var(--color-custom-4);
}

.navbar-brand.logo-control img.logo-img {
	max-height: 45px;
	width: auto;
}
.head-contact {
	/*position: fixed;*/
	/*left: 0;*/
	/*top: 0;*/
	z-index: 99;
	width: 100%;
	background-color: #146595;
	text-align: right;
	display: flex;
	flex-wrap: wrap;
	font-size: 12px;
	color: #fff;
	font-weight: 300;
	padding: 0 10px;
}
.head-contact p{
	font-size: 12px;
	color: #fff;
	margin: 0;
	font-weight: 300;
	padding-top: 0px;
	margin-top: 0 !important;
}
.head-contact ul {
	padding: 3px 0px 3px 0;
	margin: 0;
	margin-left: auto;
	letter-spacing: -0.4em;
	flex-wrap: nowrap;
	display: flex;
}

.head-contact ul li {
	display: inline-block;
	letter-spacing: normal;
	margin: 0 0 0 0px;
	font-size: 1em;
	padding: 0 15px;
	border-left: solid 1px #8AB2CA;
	color: #fff;
	font-weight: 300;
	position: relative;
}
.head-contact li a{
		font-size: 1em;
	color: #fff;
		font-weight: 300;
}
.head-contact ul li:first-child{
	border: none;
}
.head-contact ul li:last-child{
	padding-right: 0;
}
.head-contact ul li span {
	border-left: 1px solid #ddd;
	margin-right: 10px;
	position: relative;
}
.head-contact ul li span::before {
	content: "";
	display: inline-flex;
	width: 13px;
	height: 20px;
	background-image: url("../../../../images/icon/icon_tel.png");
	background-repeat: no-repeat;
	background-origin: left top;
	background-size: contain;
	position: absolute;
	left: 10px;
	top: 5px;
}
.head-contact li a{
	margin-right: 14px;
}
.head-contact .head-link::before{
	  font-family: "Font Awesome 5 Free";
  content: "\f0da";
	font-weight: 900;
	margin-right: 5px;
	color: #8AB2CA;
}

.tel::before{
	font-family: "Font Awesome 5 Free";
  content: "\f879";
	font-weight: 900;
	margin-right: 5px;
}

.t4-megamenu .nav>.dropdown>.nav-link .item-caret, .t4-megamenu .nav>.dropdown>.dropdown-toggle .item-caret {
	/* border-top: 4px solid #E80000; */
}
.t4-megamenu .navbar-nav>li>a, .t4-megamenu .navbar-nav>li>.nav-link {
	font-weight: 600;
	color: #222;
	font-size: 17px;
}
.t4-megamenu .navbar-nav > li.active > a, .t4-megamenu .navbar-nav > li.active > .nav-link {
	color: #F1F167;
}
.t4-megamenu .navbar-nav>li.show>a, .t4-megamenu .navbar-nav>li.show>.nav-link {
	color: #F1F167;
	text-decoration: none;
}
.t4-megamenu .navbar-nav>li>a:hover .item-caret, .t4-megamenu .navbar-nav>li>a:focus .item-caret, .t4-megamenu .navbar-nav>li>a:active .item-caret, .t4-megamenu .navbar-nav>li>.nav-link:hover .item-caret, .t4-megamenu .navbar-nav>li>.nav-link:focus .item-caret, .t4-megamenu .navbar-nav>li>.nav-link:active .item-caret {
	color: #F1F167;
}
.t4-megamenu .navbar-nav>li>a:hover, .t4-megamenu .navbar-nav>li>a:focus, .t4-megamenu .navbar-nav>li>a:active, .t4-megamenu .navbar-nav>li>.nav-link:hover, .t4-megamenu .navbar-nav>li>.nav-link:focus, .t4-megamenu .navbar-nav>li>.nav-link:active {
	color: #F1F167;
	text-decoration: none;
}
.t4-megamenu .navbar-nav>li.show>a, .t4-megamenu .navbar-nav>li.show>.nav-link {
	color: #F1F167;
}
.t4-megamenu .navbar-nav>li.show>a .item-caret, .t4-megamenu .navbar-nav>li.show>.nav-link .item-caret {
	border-top-color: #F1F167;
}
.t4-megamenu .navbar-nav>li.active>a, .t4-megamenu .navbar-nav>li.active>.nav-link {
	color: #F1F167;
}
.t4-megamenu .navbar-nav>li.active>a .item-caret, .t4-megamenu .navbar-nav>li.active>.nav-link .item-caret {
	border-top-color: #F1F167;
}
.t4-megamenu .dropdown-menu{
	padding: 0;
}
.t4-megamenu .dropdown-menu li>a{
	padding: 15px 20px !important
}
.t4-megamenu .dropdown-menu li>a:hover{
	background-color: #E6F7FF;
	text-decoration: none;
}
.t4-header-r{
	margin-right: -32px !important;
	
}
.head-btn ul{
	list-style: none;
	padding: 0 !important;
	margin: 0 !important;
	flex-wrap: nowrap;
}
.head-btn img{
	margin-right: 10px;
}
.header_beginner a{
	background-color: #F1F167;
	height: 80px;
	padding: 10px 13px;
	color: #000;text-align: center;
	justify-content: center;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
	transition: 0.3s;
}
.header_kaiin a{
	background-color: #fff;
	height: 80px;
	padding: 10px 13px;
	color: #000;
	text-align: center;
	justify-content: center;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
	transition: 0.3s;
}
.header_beginner a:hover,
.header_kaiin a:hover{
	text-decoration: none;
	background-color: #E1F3FE;
}

@media(max-width: 1370px){
	.header_beginner a,.header_kaiin a{
		padding-left: 8px;
		padding-right: 8px;
		font-size: 14px;
	}
	.navbar-brand.logo-control img.logo-img {
    max-height: 35px;
}
}

/*ヘッダー　お問い合わせボタン
（【モジュール】ヘッダー：お問い合わせ）*/
.t4-megamenu .dropdown-toggle .item-caret::before{
	border-top-color: #64B1E0 !important
}
.head-mail {
	padding: 0;
	margin: 0;
}
.head-mail ul {
	padding: 0;
	margin: 0;
}
.head-mail ul li {
	padding: 0;
	margin: 0;
	list-style: none;
	position: relative;
}
.head-mail ul li a {
	display: block;
	background-color: #EC2230;
	border: 2px solid #EC2230;
	color: #fff;
	padding: 8px 30px 8px 55px;
}
.head-mail ul li a::before {
	content: "";
	display: inline-block;
	width: 30px;
	height: 20px;
	background-image: url("../../../../images/icon/icon_mail.png");
	background-repeat: no-repeat;
	background-origin: left top;
	background-size: contain;
	position: absolute;
	left: 20px;
	top: 16px;
}
.head-mail ul li a:hover {
	background-color: #fff;
	color: #EC2230;
	text-decoration: none;
}
.head-mail ul li a:hover::before {
	content: "";
	display: inline-block;
	width: 30px;
	height: 20px;
	background-image: url("../../../../images/icon/icon_mail_red.png");
	background-repeat: no-repeat;
	background-origin: left top;
	background-size: contain;
	position: absolute;
	left: 20px;
	top: 16px;
}

.t4-header {
	min-height: auto;
	background-color: var(--color-primary);
	border: none;
}
.t4-offcanvas-toggle i {
	display: none;
}
.t4-section.sec-spacing-lg .t4-section-inner {
	padding: 0;
	margin: 0;
}


.t4-footer {
	border: medium none;
	background-image: url(../../../../images/common/footer_bg.jpg);
	background-size: cover;
}
.t4-footer a{
	color: #fff;
}
.t4-footer .container, .t4-footer .t4-masthead .t4-masthead-detail, .t4-masthead .t4-footer .t4-masthead-detail {
	padding: 0;
	margin: 0 auto;
color: #fff;
	border: medium none;
}
.copy{
	background-color: #2E3A58;
	padding: 14px;
	text-align: center;
	border-top: solid 1px #3c5d84;
	font-size: 15px;
}
.col-md-10 {
	width: 100%;
}

.ft-content {
	width: 1140px;
	margin: 0 auto;
padding-top: 50px;
	font-size: 16px;
}
.ft-content img {
	margin: 0 0 20px 0;
}
.ft-sitemap {
	margin: 0 auto;
	padding: 0 0 60px;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.ft-sitemap .profile {
	width: 41%;
	padding: 0;
	line-height: 1.8em;
}
.ft-sitemap .profile table {
	width: 100%;
	border-collapse: collapse;
	margin: 0;
}
.ft-sitemap .profile table th {
	text-align: left;
	vertical-align: top;
	padding: 10px 20px 0 0;
}
.ft-sitemap .profile table td {
	text-align: left;
	vertical-align: top;
	padding: 10px 0 0 0;
}
.ft-sitemap .sitemap {
	width: 58%;

}
.ft-sitemap .sitemap div {
	padding-left: 0px;
	padding-right: 30px;
}
.ft-sitemap .sitemap ul {
	padding: 0;
	margin: 0;
}
.ft-sitemap .sitemap ul li {
	padding: 0 0 10px 0;
	list-style: none;
	line-height: 1.4em;
	position: relative;
}
.ft-sitemap .sitemap ul li>ul {
	margin-top: 10px;
}
.ft-sitemap .sitemap ul li>ul li {
	padding-left: 15px;
}
.ft-sitemap .sitemap ul li>ul li::before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 1px;
	background-color: #333;
	position: absolute;
	left: 0;
	top: 10px;
}
.sitemap1{
		display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	margin-top: 15px;
}
.sitemap1 div{
	width: 33.33%;
}
.sitemap1 h4{
	font-size: 16px;
	font-weight: 500;
}
.sitemap1 li{
	font-size: 14px;
	opacity: 0.8;
}
.sitemap1 li::before{
	content: ""!important;
	display: inline-block;
	color: #FFEE1D;
	margin-right: 8px;
	width: 8px;
	position: relative;
	top:-5px;
	height: 1px;
	background-color:  #FFEE1D;
}
.sitemap2 li{
	opacity: 1;
	font-size: 16px;
	margin-top: 5px;
}
.sitemap2 li::before{
	display: none;
}
.homelink{
	width: 100%;
}
.pagetitle {
  margin: 0;
  padding: 5% 10%;
  font-size: 3.0rem;
  position: relative;
  color: #fff;
  font-family: 'Montserrat', "Noto Sans JP", sans-serif;
  background-color: #f7f7f7;
	background-image:url("../../../../images/common/sub_teaser.jpg");
	background-size: cover;
}
.pagetitle span {
	font-size: 1.5rem;
	display: block;
	text-transform: uppercase;
}


.page-header-text{
	margin: 0;
 padding: 5% 10%;
  position: relative;
  font-family: 'Lato', "Noto Sans JP", sans-serif;
  background-color: #f7f7f7;
	background-image: url(../../../../images/common/sub_teaser.jpg);
	background-size: cover;
	background-position: center;
	text-align: left;
}
.page-header-text h1{
	  font-size: 3.0rem;
	margin-bottom: 0 !important;
	line-height: 1.4;
	color: #fff;
}
.page-header-text span{
	font-size: 1.5rem;
	display: block;
	font-weight: 600;
	line-height: 1.4;
	color: #fff;
	text-transform: uppercase;
}


#t4-breadcrumbs{
	border-bottom: solid 1px #eee;
}
#t4-breadcrumbs ol{
	padding: 0;
}
.breadcrumb{
	font-size: 0.8rem;
}
/*会社概要*/
.gaiyo-table {
	border-collapse: collapse;
	width: 100%;
	margin: 0;
}
.gaiyo-table th {
	border-bottom: 2px solid #000;
	padding: 40px 10px;
	font-weight: 900;
	text-align: left;
	vertical-align: top;
}
.gaiyo-table td {
	border-bottom: 2px solid #ddd;
	padding: 40px;
	font-weight: 900;
	text-align: left;
	vertical-align: top;
}
.googlemap {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 75%;
}
.googlemap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.formControls.col-sm-9 {
  width: 70%;
}
#back-to-top {
	z-index: 98;
}

/*メールフォーム*/

strong.formRequired {
	color: #fff;
	font-weight: normal!important;
	font-size: 11px;
	background-color: #ff002a;
	padding: 6px 8px;
	border-radius: 4px;
	margin-left: 15px;
}
#userForm .rsform-block>label {
	border-top: 1px solid #ccc;
	display: table-cell;
	padding: 40px 0;
	vertical-align: top;
	width: 30%;
}
#userForm .rsform-block .formControls {
	display: table;
	border-top: 1px solid #ccc;
	vertical-align: top;
	padding: 40px 0 40px 20px;
}



/*グローバルメニュー　子メニューを表示*/
.header-block.header-block-2 .container-xxl {
  overflow: initial;
}

/*グローバルメニュー調整*/
.t4-megamenu .navbar-nav > li > a, .t4-megamenu .navbar-nav > li > .nav-link {
  font-size: 17px;
	font-size:min(1.1vw,17px);
  padding: 20px 7px;
	color: #fff;
}
/*「/html/mod_custom/h1-title.php」「/html/mod_custom/h1-title-sitename.php」利用時のヘッダー部分CSS*/
#h1title {
  font-size: 14px;
  font-weight: normal;
  margin: 0;
}
.t4-header{
	position: sticky;
	width: 100%;
	top:0;
	z-index: 9999 !important
}
.t4-header .header-block{
	background-color: #0077BF
}
.t4-megamenu.animate.slide .dropdown .dropdown-menu>div{
	min-width: 240px;
}
/*swiper*/
.swiper {
  width: 100%;
  max-width: 100%;
  height: auto;
}
.swiper-slide span {
  position: absolute;
  top: 50px;
  left: 100px;
  color: #fff;
  font-size: 32px;
}

/*トップページお知らせ*/
.news-box {

  padding: 7px;
	margin-bottom: 1.5rem !important;
}
.news-box table {
  width: 100%;
}
.news-box table th {
  border-bottom: 1px dotted #ccc;
  font-weight: normal;
  padding: 5px;
  text-align: left;
  vertical-align: top;
}
.news-box table td {
  border-bottom: 1px dotted #ccc;
  padding: 5px;
  vertical-align: top;
}


.news-box ul li {
  border-bottom: 1px solid #E5E5E5;
  font-size: 1em;
  list-style: none outside none;
  padding: 20px 5px;
}
.news-box .category-module li a {
  display: inline-block;
}
.mod-articles-category-category a{
	background-color: #0077BF;
	border-radius: 3px;
	color: #fff !important;
	font-size: 14px;
	padding: 1px 15px!important;
	min-width: 150px;
	text-align: center;
	margin-right: 10px;
}
.kiji-box01 td:nth-child(1) {
  width: 60%;
}
.kiji-box02 td:nth-child(1) {
  width: 40%;
}
.kiji-box01 td,.kiji-box02 td {
  vertical-align: top;
}

/*Youtubeの埋め込み*/
.yt iframe {
    display: block;
    margin: auto;
}
.yt  {
text-align: center;
}
/*プロファイルの編集非表示*/
#post .profile {display: none;}

/*モジュール　記事カテゴリー*/
.category-module li a::before {
  display: none;
}
.category-module li a {
  padding-left: 0;
}

/*スクロールヒントの調整*/
.scroll-hint-text {
  line-height: initial;
}

/*グローバルメニュー　右寄せ*/
.mx-auto {
  margin-right: initial !important;
}

/*PCの時には表示しない*/
.pchidden {
  display: none !important;
}

/*latestnews-item調整*/
.latestnews-item {
  position: relative; 
}

/*---------------------------------------
---------------------------------------
デザイナー追加CSS
---------------------------------------
---------------------------------------*/

/*ベース*/
:root{
--color-primary:#0077BF;
--color-custom-1:#D80C18;
--color-custom-2:#E6F7FF;
--color-custom-3:#27A5B5;
--color-custom-4:#00B9A3;
--color-custom-5:#FFEE1D;
--en: "Lato", sans-serif;
}

/*共通*/
.hanyoclass .t4-section-inner.container{
	padding: 0 10% !important;
}
.midashi1{
	font-size: 44px !important;
	color: #fff;
	margin: 2rem auto 1.5rem;
}
ol>li::marker{
  color: var(--color-primary);
  font-weight: bold;
	font-family: var(--en);
}
.naminami-green2 ol>li::marker{
	color: var(--color-custom-4)
}
.naminami-green1 ol>li::marker{
	color: var(--color-custom-3)
}
th,td {
    border: solid 1px #ccc; 
	padding:20px 15px;
}

table {
    border-collapse:  collapse; 
	width: 100%;
}
th{
	background-color: #fafafa;
}
.container_main{
	max-width:1140px;
	margin: 0 auto;
}
.container_main_wide{
	max-width:1400px;
	margin: 0 auto;
}
.title_nami{
	color: var(--color-primary);
	font-size: 44px !important;
	display: inline-block;
	text-decoration: underline wavy #FFEE1D;
	text-underline-offset: 8px;
}
.title_txt44{
	color: var(--color-primary);
	font-size: 44px !important;
	display: inline-block;
}

.col4-sm2 .col{
flex: 0 1 25%;
}
.list_2column{
  list-style: none;
}
.list_2column li{
  width:45%;
}
.item .list_2column li::before{
   display:none;
}
.txt_blue{
	color: #0077BF;
}
.txt_green1{
	color: #27A5B5;
}
.txt_green2{
	color: #00B9A3;
}
.items-row .item p {
    margin-top: 1.5rem;
    margin-bottom: 0;
}

.mt-20{
	margin-top: 20px;
}
.mt-30{
	margin-top: 30px;
}
.mt-40{
	margin-top: 40px !important;
}
.mt-50{
	margin-top: 50px !important;
}
.bottom100{
	margin-bottom: 200px;
}
.btn:hover{
	text-decoration: none;
}

.basebtn1{
	border-width: 3px;
	font-size: 1.1rem;
	border-radius: 90px;
	padding: 20px 40px;
	min-width: 350px;
	position: relative;
	font-weight: 500;
	background-color: #fff;
}
.basebtn1::after{
	  font-family: "Font Awesome 5 Free";
  content:'\f054';
  font-weight: 900;
	position: absolute;
	right: 13px;
  top:50%;
  transform: translateY(-50%);
}
.btn_blank::after{
  content:'\f35d';
}

.btn_green{
	border-color: #00B9A3 !important;
	color: #00B9A3 !important;
}
.btn_green::after{
	color: #00B9A3;
}
.btn_green:hover{
	background-color: #00B9A3 !important;
	color: #fff !important;
}
.btn_green:hover::after{color: #fff !important;}

.basebtn1-color{
	border-width: 3px;
	font-size: 1.1rem;
	border-radius: 90px;
	padding: 20px;
	min-width: 350px;
	position: relative;
	color: #fff !important;
	font-weight: 500;
	background-color: var(--color-primary);
}
.basebtn1-color::after{
	  font-family: "Font Awesome 5 Free";
  content:'\f054';
  font-weight: 900;
	position: absolute;
	right: 13px;
	color: var(--color-custom-5)
}
a.basebtn1-color:hover{
	background-color: #fff !important;
	color: #000 !important;
}
.taiken_btn{
	background-color: var(--color-custom-5) ;
	padding-right: 60px;
	padding-left: 60px;
}

.pdf_btn{
	border-color: var(--color-custom-1) !important; 
	color: #424242 !important; 
}
.pdf_btn::after{
	color: var(--color-custom-1) !important;
	 content:'\f35d';
}
.pdf_btn::before{
	  font-family: "Font Awesome 5 Free";
  content:'\f1c1';
  font-weight: 900;
	position: absolute;
	left: 20px;
	top:50%;
	transform: translateY(-50%);
	font-size: 30px;
	color: var(--color-custom-1) !important;
	transition: 0.3s;
}
.pdf_btn:hover{
	background-color: var(--color-custom-1) !important;
	color: #fff !important
}
.pdf_btn:hover::before,.pdf_btn:hover::after{
	color: #fff !important
}

a.btn-red{
	background-color: var(--color-custom-1) !important;
	border-color: var(--color-custom-1) !important;
}
a.btn-green1{
	background-color: #06C0D8 !important;
	border-color: #06C0D8 !important;
}
a.btn-green2{
	background-color: #00B9A3 !important;
	border-color: #00B9A3 !important;
}
a.btn-blue{
	background-color: #0077BF !important;
	border-color: #0077BF !important;
}


.naminami-outer{
	position: relative;
	padding-top: 25px;
}
.naminami-bg {
  --mask:
    radial-gradient(59.46px at 50% 84px,#000 99%,#0000 101%) calc(50% - 80px) 0/160px 100%,
    radial-gradient(59.46px at 50% -44px,#0000 99%,#000 101%) 50% 40px/160px 100% repeat-x;
  -webkit-mask: var(--mask);
          mask: var(--mask);

}
.naminami-bg {
min-height: 250px;
  height: 40vh;
	width: 100%;
  height: round(40vh,1px);
			z-index: 1;
	position: absolute;
	top:0px;
	  background:linear-gradient(60deg,#E1F3FE,#E1F3FE);

}

.naminami {
  --mask:
    radial-gradient(59.46px at 50% 84px,#000 99%,#0000 101%) calc(50% - 80px) 0/160px 100%,
    radial-gradient(59.46px at 50% -44px,#0000 99%,#000 101%) 50% 40px/160px 100% repeat-x;
  -webkit-mask: var(--mask);
          mask: var(--mask);
}
.naminami{
min-height: 250px;
/*
  height: 40vh;
  height: round(40vh,1px);
*/
  background:
linear-gradient(60deg,#9AD0EA,#9AD0EA);
position: relative;
	z-index: 2;
	padding-top: 70px;
	padding-bottom: 170px;
}


.naminami-outer::after {
  content: '';
  display: block;
  position: absolute;
  left:0;
  bottom: 0;
	z-index: 2;
  border-top: 60px solid transparent;  /* 透明 */ 
  border-left: 50vw solid transparent;  /* 透明 */ 
  border-right: 50vw solid #fff;  /* むらさき */ 
  border-bottom: 60px solid #fff;  /* むらさき */ 
}
.sub_txtbox p{
	color: #000 !important;
	font-weight: 400 !important
}


/*========== フッター ==========*/

.footer_info{
	border-bottom: solid 2px #fff;
	padding-bottom: 15px;
	width: 100%;
	align-content: center;
	align-items: center;
	margin-bottom: 40px;
}
.footer_txt1{
	padding-left: 20px;line-height: 1.6;
}
.footer_shoplist{
	background-color: #00578B;
	padding: 25px 0;
	font-size: 14px;
}
.footer_shoplist p{
	margin-bottom: 0;
	margin-top: 5px;
}
.footer_shoplist ul{
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 13px;
}
.footer_shoplist li{
	line-height: 1.6;
	margin-top: 3px;
  white-space: nowrap;
}
.footer_shoplist .col-8{
	padding-right: 0 !important
}

.footer_shop_ti{
	display: inline-block;
	border: solid 1px #fff;
	padding: 5px 10px;
	text-align: center;
}

.footer_tel{
	margin-left: auto;
}
.footer_tel .tel::before{
		font-size: 24px;
}
.footer_tel p{
	font-size: 12px;
	line-height: 1.5;
}
.tel a{
	font-family: var(--en);
	font-weight: 600;
	font-size: 34px;
}
/*
.tel a::before{
		  font-family: "Font Awesome 5 Free";
  content: "\f879";
	font-weight: 900;
	margin-right: 7px;
font-size: 30px;
}
*/
.box_white{
		background-color: #fff;
	padding: 40px;
margin: auto;
		width: 1140px;
border-radius: 30px;
/*box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);*/
position: relative;
	z-index: 3;
}
.blue_box .box_white{
  width: 100%;
}
.course .box_white{
  padding: 20px 40px 10px;
}

.blue_box .gap-5 {
    gap: 2.9rem !important;
}

/*TOPページ*/

.item-142 #t4-main-body .container {
  width: 100%;
  max-width: 100%;
  padding:0;
}


.item-142 .container{
	overflow: visible;
}
.item-142 .t4-section {
    z-index: 2;
}

.teaser{
	position: relative;
}
.teaser_cp{
	position: absolute;
	left:0;
	top:0;
	width: 50%;
	height: 100%;
	background-image: url(../../../../images/top/teaser_moyou_bg.png);
	background-repeat: no-repeat;
	background-size: 100% 100%;
	z-index: 5;
}
.teaser_cp::before{
	 content: '';/*何も入れない*/
  display: inline-block;
  width: 100%;/*画像の幅*/
  height: 660px;/*画像の高さ*/
	background-image: url(../../../../images/top/teaser_moyou.png);
  vertical-align: middle;
	background-size: auto 660px;
	background-position: left;
	position: absolute;
	background-repeat: no-repeat;
	left: 0;
	z-index: 6;
}
.teaser_img{
	width: 70%;
	margin-right: 0px;
	position: relative;
	right: 0;
	margin-left: auto;
	text-align: right;
	
}
.teaser_img img{
	object-fit: cover;
	height: 660px;
	width: 100%;
}
.teaser_txt{
	position: absolute;
	z-index: 8;
	left:10%;
	top:140px;
}
.teaser_txt h2{
	font-size:max(3vw,36px);
}
.teaser_txt1,.teaser_txt2{
	background-color: #fff;
	padding: 10px 15px;
	border-radius: 5px;
	display: inline-block;
	color: var(--color-primary);
}
.teaser_txt2{
	padding: 20px 15px;
}
.txt65{
	font-size:max(4.5vw,50px);
	  text-decoration:underline wavy #FFEE1D;
}
.txt38{
	font-size:max(2.5vw,29px);
}
.txt20{
	font-size:20px;
}
.txt22{
	font-size:22px;
}
.teaser_txt ul{
	list-style: none;
	margin: 20px 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
}
.teaser_txt li{
	background-color: #F96060;
	font-size:max(1.2vw,16px);
	font-weight: 500;
	border-radius: 50px;
	padding: 10px 15px;
	margin: 0 15px 15px 0;
	color: #fff;
}

.top_campaign{
	position: relative;
	padding-top: 150px;
	margin-top: -150px;
	z-index: 2;
}
.top_campaign_ti{
	position: absolute;
	left: 31%;
	z-index: 2;
	top:0;
}
.swiper3{
	padding-bottom: 40px !important;
	overflow-x: hidden;
	padding-left: 70px !important;
	padding-right: 70px !important;
}
.swiper3 .swiper-slide{
	padding-left: 20px;
	padding-right: 20px;
}
.box-white{
	background-color: #fff;
	padding: 30px;
margin: auto;
		width: 1140px;
border-radius: 30px;
box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
position: relative;
	z-index: 3;
}
.news_box{
	background-color: #fff;
	padding: 30px;
margin: auto;
		width: 1140px;
border-radius: 30px;
box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
position: relative;
	z-index: 3;
}
.news_box .category-module li{
  display:flex;
}
.news_box .mod-articles-category-title {
  white-space: nowrap;
  overflow: hidden; 
  text-overflow: ellipsis;  
  display: block;            
  max-width: 65%; 
}

.news_img1{
	position: absolute;
	left: -80px;
	top:140px;
}
.news_img2{
	position: absolute;
	right: 10px;
	top:210px;
}
.bn_sahdow {
	padding-bottom: 40px !important;
}
.bn_sahdow img{
border-radius: 24px;
box-shadow: 0px 15px 20px rgba(0, 0, 0, 0.13);

}

.w950{
max-width: 950px;
	margin: auto;
}

.f_box{
	display: flex !important;
	flex-wrap: wrap;
}
.f_center{
	justify-content: center;
}
.no_wrap{
	flex-wrap: nowrap
}
.order1{
	order: 1;
}
.order2{
	order: 2;
}
.w60{
	width: 60%;
	margin: auto;
}

.txtblack_outer p{
	color: #000 !important;
}

/*TOP アクラブメッド*/
.top_method{
	width: 80%;
	margin:-170px auto 0;
	position: relative;
	z-index: 6;
}
.top_method h2{

	margin-right: -80px;
	margin-bottom: 50px;
}
.top_method h2 img{
	width: 110%;
}
.blue_box{
	background-color: #E6F7FF;
padding: 40px;
	width: 1140px;
	margin: auto;
border-radius: 50px;
}
.blue_box_wide{
	background-color: #E6F7FF;
padding: 40px;
	width: 100%;
	margin: auto;
}
.green1_box{
	background-color: #F0FCFD;
	padding: 40px;
	width: 1140px;
	margin: auto;
border-radius: 50px;

}

.green1_box_wide{
	background-color: #F0FCFD;
	padding: 40px;
	width: 100%;
	margin: auto;

}
.green2_box{
	background-color: #F0FCFD;
	padding: 40px;
	width:1140px;
	margin: auto;
border-radius: 50px;

}

.green2_box_wide{
	background-color: #F0FCFD;
	padding: 40px;
	width: 100%;
	margin: auto;

}
.top_riyuu_box{
		justify-content: center;
	margin-top: 30px;
}
.riyuu_inner{
	width: 310px;
	text-align: center;
	margin: 20px 25px 20px;
	position: relative;
}
.riyuu_inner a{
	/* position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 1;
*/
    color:#333; 
}
.riyuu_inner a:hover{
   color:#fff; 
  text-decoration: none;
}
.riyuu_inner a::after{
	  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  pointer-events: auto;
  content: "";
}


.riyuu_inner_btn a{
position:initial;
  	transition:0.3s;
}

.riyuu_inner_btn a:hover{
  color:var(--color-primary);
  text-decoration: none;
}
.riyuu_inner_btn a::after{
	  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  pointer-events: auto;
  content: "";
}
.riyuu_img{
padding: 30px;
border-radius: 50%;
background: #fff;
filter: drop-shadow(5px 5px 0px #0077bf);
}
.top_riyuu_box-subpage .riyuu_img{
	padding: 50px;
}

.riyuu_img{
  transition: .3s;
position:relative;
}
.riyuu_inner_btn .riyuu_img{
  top:0px;
  left:0px;
}
.riyuu_inner_btn:hover .riyuu_img{
 filter: drop-shadow(0px 0px 0px #0077bf); 
  top:5px;
  left:5px;
}


.btn-s{
width: 130px;
line-height:  32px;
background: transparent;
color: #0077bf;
	text-align: center;
	font-size: 13px;
	display: inline-block;
	background-color: #fff;
	border: solid 2px #0077bf;
	border-radius: 60px;
	margin-top: 20px;
	transition: 0.3s;
}
.btn-s_big{
	width: 240px !important;
	font-size: 19px !important;
	padding: 15px !important;
}
.riyuu_inner:hover .btn-s{
	background-color: #0077bf;
	color: #fff;
}



/*水泳泳力認定級*/
.nintei_3col_img img{
	  aspect-ratio: 1 / 1;
	border-radius: 50%;
	object-fit: cover;
}
.nintei_3col_inner{
	text-align: center;
}

.nintei-table th{
background: rgba(39, 165, 181, 0.1);

}
.nintei-table tr:nth-child(odd){
background:#fafafa
}
.nintei-table th,.nintei-table td{
  font-size:0.9rem;
  line-height:1.8;
}
.nintei-table td:nth-of-type(1){
	width: 10%;
}
.nintei-table td:nth-of-type(2){
	width: 45%;
}
.nintei-table-s{
	margin-top: 15px;
}
.nintei-table-s th,.nintei-table-s td{
	font-size: 0.8rem;
	padding:6px 10px !important;
 	line-height: 1.7;
   text-align:center;
}
.nintei-table-s tr:nth-child(odd){
background:#fafafa
}
.nintei-table-s th{
  	line-height:1.7 !important;
  background: rgba(39, 165, 181, 0.1);
 
}


.kome_list{
	list-style: none;
	margin: 0;
	padding: 0;
}

/*あんしん取り組み*/
.torikumi_box h2{
	text-align: left;
	font-size: 2.3rem !important;
	margin-bottom: 35px;
}
.torikumi_number{
	display: inline-block;
	padding-bottom: 10px;
	margin-bottom: 20px;
	border-bottom: solid 5px var(--color-custom-3);
	font-size: 20px;
	font-weight: 600;
	color: var(--color-custom-3);
}
.torikumi_number span{
	font-size: 30px;
	font-family: var(--en);
	margin-left: 7px;
}

/*スクールバス*/
.top_border_midashi{
	border-top:solid 2px #A3D2D8;
	padding-top: 30px;
	margin-top: 30px;
	color: var(--color-custom-3);
}
/*オプション・個別レッスン*/
.check_list{
    width: fit-content;
    margin: auto;
	list-style: none;
	padding: 0rem 0 0;
}
.check_list li{
	font-size: 1.2rem;
  text-indent: -1.4em;
  margin-left: 1.4em;
}
.check_list li::before{
		  font-family: "Font Awesome 5 Free";
  content: "\f058";
	font-weight: 900;
	margin-right: 8px;
	color: var(--color-custom-3);
}

.fukidasi_box {
    position: relative;
    margin: 1em 0;
    padding: 1.5em 2em;
    border: solid 3px var(--color-custom-3);
    border-radius: 15px;
      display: inline-block;
}
.fukidasi_box h3 {
    position: absolute;
    display: inline-block;
        top: -26px;
    left: 25px;
    padding: 0 15px 0 25px;
    line-height: 1;
    font-size: 19px;
    background: #FFF;
    color: var(--color-custom-3);
    font-weight: bold;
}
.fukidasi_box p {
    margin: 0 !important;
    padding: 0 !important;
}
.fukidasi_box p strong{
  margin-right:10px;
}
.fukidasi_box table,.fukidasi_box th,.fukidasi_box td{
  border:none;
  background:#fff;
  padding:5px 0;
}
.fukidasi_box th{
  width:12%;
  vertical-align:top;
}
.btn_mail{
    margin-top:10px !important;
  margin-bottom:20px !important;
}
.btn_mail a{
 background-color: var(--color-primary);
  color:#fff;
   margin-left:12px;
      border-radius: 90px;
  padding: 10px 40px;
 transition: .3s;
      border: solid 1px var(--color-primary);
}
.btn_mail a::before {
  font-family: "Font Awesome 5 Free";
  content: "\f0e0";
	font-weight: 900;
	margin-right: 5px;
}
.btn_mail a:hover{
  background-color:#fff;
  color:var(--color-primary);
  	text-decoration: none;
}

/*よくある質問*/
.faq_box{
	margin-bottom: 40px;
	margin-top: 30px;
}
.midashi_q{
	font-size: 1.3rem;
	font-weight: 500;
	position: relative;
	padding-left: 70px;
	min-height: 55px;
	padding-top: 14px;
	margin-bottom: 0;
}
.midashi_q::before{
	font-family: var(--en);
  content: "Q";
	font-weight: 600;
	margin-right: 8px;
	color:#fff;
	font-size: 30px;
	width: 55px;
	height: 55px;
	border-radius: 50%;
	margin-right: 10px;
	text-align: center;
	display: flex;
	align-content: center;
	align-items: center;
	justify-content: center;
	position: absolute;
	left:0;
	top:0;
	background-color:  var(--color-primary);
}
.box_a{
	position: relative;
	padding-left: 85px;
	min-height: 55px;
}
.box_a p{
	margin-top: 10px !important;
}
.box_a::before{
	font-family: var(--en);
  content: "A";
	font-weight: 600;
	margin-right: 8px;
	color:#fff;
	font-size: 30px;
	width: 55px;
	height: 55px;
	border-radius: 50%;
	margin-right: 10px;
	text-align: center;
	display: flex;
	align-content: center;
	align-items: center;
	justify-content: center;
	position: absolute;
	left:20px;
	top:5px;
	background-color: #E364BC;
}

.side_link{
	list-style: none;
}
.side_link{
	background-color: #F2FCFD;
	border-radius: 20px;
	padding: 30px;
	position: sticky;
	top:120px;
	margin-top: 30px;
}
.side_link li::before{
	 font-family: "Font Awesome 5 Free";
  content: "\f138";
	font-weight: 900;
	margin-right: 5px;
	color:var(--color-primary);
}
.side_link a{
	color: rgb(51, 51, 51);
	transition: 0.3s;
}
.side_link a:hover{
	color:  var(--color-primary);
}

/*ジュニア水泳*/
.top_class_title{
	text-align: center;
	margin-bottom: 30px;
}
.top_class_title h2{
	font-size: 60px !important;
	line-height: 1.4;
}
.top_class_title p{
	font-size: 20px !important;
	margin-top: 0px !important;
	font-family: var(--en);
	text-transform: uppercase;
	font-weight: 600 !important;
}

.naminami-green1 {
  --mask:
    radial-gradient(59.46px at 50% 84px,#000 99%,#0000 101%) calc(50% - 80px) 0/160px 100%,
    radial-gradient(59.46px at 50% -44px,#0000 99%,#000 101%) 50% 40px/160px 100% repeat-x;
  -webkit-mask: var(--mask);
          mask: var(--mask);
}
.naminami-green1{
min-height: 250px;
  background:
linear-gradient(0deg,#fff,#E8F9F7);
position: relative;
	z-index: 2;
	padding-top: 100px;
	padding-bottom: 140px;
}
.naminami-green2 {
  --mask:
    radial-gradient(59.46px at 50% 84px,#000 99%,#0000 101%) calc(50% - 80px) 0/160px 100%,
    radial-gradient(59.46px at 50% -44px,#0000 99%,#000 101%) 50% 40px/160px 100% repeat-x;
  -webkit-mask: var(--mask);
          mask: var(--mask);
}
.naminami-green2{
min-height: 250px;
  background:
linear-gradient(0deg,#fff,#EAFBFC);
position: relative;
	z-index: 3;
	padding-top: 100px;
	padding-bottom: 140px;
	margin-top: -170px;
}
.naminami-blue {
  --mask:
    radial-gradient(59.46px at 50% 84px,#000 99%,#0000 101%) calc(50% - 80px) 0/160px 100%,
    radial-gradient(59.46px at 50% -44px,#0000 99%,#000 101%) 50% 40px/160px 100% repeat-x;
  -webkit-mask: var(--mask);
          mask: var(--mask);
}
.naminami-blue{
min-height: 250px;
  background:
linear-gradient(0deg,#F4F8FF,#E7EEF8);
position: relative;
	z-index: 3;
	padding-top: 100px;
	padding-bottom: 140px;
	margin-top: -170px;
}

.naminami-bottom0{
  padding-bottom: 0;
}

.naminami-white {
  --mask:
    radial-gradient(59.46px at 50% 84px,#000 99%,#0000 101%) calc(50% - 80px) 0/160px 100%,
    radial-gradient(59.46px at 50% -44px,#0000 99%,#000 101%) 50% 40px/160px 100% repeat-x;
  -webkit-mask: var(--mask);
          mask: var(--mask);
}
.naminami-white{
min-height: 250px;
  background:
linear-gradient(0deg,#fff,#fff);
position: relative;
	z-index: 3;
	padding-top: 170px;
	padding-bottom: 0px;
	margin-top: -170px;
}

.top_class_inner{
	width: 1140px;
	margin: 2rem auto;
}
.top_class_inner .btn{
	margin-top: 30px;
}
.top_class_inner p{
	font-weight: 500;
}
.top_class_img1 img{
	object-fit: cover;
	width: 100%;
	height: 320px;
	border-radius: 30px 30px 0 0;
}
.top_class_img2_1{
	width: 60%;
}
.top_class_img2_2{
	width: 40%;
}
.top_class_img2_1 img{
	object-fit: cover;
	width: 100%;
	height: 220px;
	border-radius: 0px 0px 0 30px;
}
.top_class_img2_2 img{
	object-fit: cover;
	width: 100%;
	height: 220px;
	border-radius: 0px 0 30px 0px;
}
.top_class_img_outer{
	padding-right: 40px;
	position: relative;
}
.top_movie_btn_outer{
	position: absolute;
	bottom: -40px;
	right: -40px;
	width: 165px;

}
.top_movie_btn{
	position: relative;
	width: 165px;
	height: 165px;
background: #ffee1d;
border: 5px solid #fff;
border-radius: 50%;
	text-align: center;
	padding-top: 20px;
	transition: 0.3s;
}
.top_movie_btn:hover{
	background-color: #0077bf;
}
.top_movie_btn p{
font-size: 17px;
line-height: 27px;
color: #0077bf;
	margin-top: 10px !important;
		transition: 0.3s;
}
.top_movie_btn:hover p{
	color: #fff;
}
.top_movie_btn a{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	opacity: 0;
}

.top_class_junior{
	padding-left: 40px;
}

.top_class_junior .top_class_ti_img{
	position: absolute;
	top:100px;
	right: 50px;
}

 .naminami-green1 h2,.naminami-green2 p{
	color: #27A5B5;
}


/*流れ*/
.flow_design2{

}
.item .flow2 {
  padding-left: 0;
  display: -webkit-box;
  /* display: flex;
  display: -ms-flexbox;
 display: flex;
  flex-wrap: nowrap;
  justify-content: center; */
  gap: 60px;
	overflow-x: scroll;
  width: auto;
      padding-left: 70px;
    padding-bottom: 20px  !important;
  max-width: 1290px;
  margin:auto;

}
.tab_box{
  max-width: 1400px;
}
.tab_box .flow2{
    padding-left: 10px;
}

.flow2 > li {
  list-style-type: none;
  width: 340px;
  max-width: 340px;
  display: flex;
  text-indent: 0 !important;
  margin-left: 0em !important;
}
.flow2 > li::before{
  display:none !important;
}
.flow2 > li .icon {
  line-height: 2;
  width: 2em;
  height: 2em;
  text-align: center;
  color: #fff;
  background: var(--color-primary);
  margin: 0 auto 10px;
  display: block;
  border-radius: 100vh;
  position: relative;
}

.flow2 > li .icon::before {
  content: "";
  border: solid transparent;
  border-width: 7px;
  border-top-color: var(--color-primary);
  position: absolute;
  top: calc(100% - 2px);
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.flow2 > li dl {
  padding: 30px 20px;
  margin: 0;
  border: 3px solid var(--color-primary);
  position: relative;
	border-radius: 10px;
}

.flow2 > li:not(:first-child) dl::before {
  content: "";
  width: 14px;
  height: 14px;
  margin-right: 10px;
  display: inline-block;
  border-top: 4px solid var(--color-primary);
  border-right: 4px solid var(--color-primary);
  position: absolute;
  top: calc(50% - 14px);
  left: -45px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.flow2 > li dl dt {
  font-size: 1.3em;
  font-weight: 600;
  color: var(--color-primary);
  -ms-flex-preferred-size: 20%;
  flex-basis: 20%;
  margin-bottom: 10px;
  text-align: center;
}

.flow2 > li dl dd {
  margin-left: 0;
}

@media(max-width: 767px){
  .flow04 {
    gap: 20px;
  }
  .flow04 > li {
    max-width: unset;
    display: block;
  }
  .flow04 > li:not(:first-child) dl::before {
    display: none;
  }
}

/*注意書き*/
.caution_box{
	max-width: 1140px;
	margin: auto;
	    background-color: #FFFCD6;
    padding: 40px !important;
	border-radius: 50px;
	list-style: none;
}
.caution_box li::before{
  display:none!important;
}
.caution_box-white{
  background-color: #fff;
}


/*親子水泳*/
.top_class_oyako{
	padding-left: 40px;
}

.top_class_oyako .top_class_ti_img{
	position: absolute;
	top:100px;
	left: 50px;
}

 .naminami-green2 h2,.naminami-green2 h3,.naminami-green2 h4 ,.naminami-green2 p{
	color: #00B9A3;
}
 .naminami-green2 h2{
	color: #009685;
}
 .naminami-green1 h2,.naminami-green1 h3,.naminami-green1 h4 ,.naminami-green1 p{
	color: #27A5B5;
}

.top-border{
	border-top: solid 2px #ccc;
	padding-top: 1rem;
	margin-top: 4rem;
}

/*親子水泳 入会案内*/
.nyuukai_ti{
	align-content: center;
}
.nyuukai_ti h3{
	font-size: 30px;
}
.ic_number{
	position: relative;
    background-color: #00B9A3;
    width: 60px;
    height: 60px;
    color: #fff;
    font-family: var(--en);
    text-align: center;
    display: flex;
    align-content: center;
    align-items: center;
    font-size: 24px;
    justify-content: center;
    border-radius: 50%;
	margin-right: 15px;
	top:4px;
}

.ic_number--bgblue{
	background-color: #0077BF;
}
.ic_number--bggreen1{
	background-color: #27A5B5;;
}
.nyuukai_txt{
	padding-left: 75px;
}
.nyuukai_hituyou_box{
	list-style: none;
	padding: 0;
	
}
.nyuukai_hituyou_box_inner{
	padding: 3rem 0;
	border-bottom: dashed 1px #8EC6CB;
}
ul.nyuukai_hituyou_box li:last-child{
	border-bottom: none;
}
.waribiki_ti{
	background-color: #f00;
	padding: 5px 15px;
	color: #fff;
	font-weight: 400;
	margin-bottom: 5px;
	border-radius: 3px;
	margin: 15px 0 5px;
	display: inline-block;
}
.waribiki_txt{
	font-size: 1.2rem;
	color: #f00;
	margin-top: 0 !important;
}
.nyuukai-table{
	margin: 15px 0;
}
.nyuukai-table th{
	background-color: #FFFCD6;
}
.nyuukai-table td{
	background-color: #fff;
}
.waku_subti{
	border: solid 1px  #00B9A3;
	padding: 5px 15px;
	display: inline;
	margin-right: 15px;
	font-size: 1.1rem;
	font-weight: 600;
}
.waku_subti--blue{
  border-color:var(--color-primary);
}
.meyasu_box{
	align-content: center;
	align-items: center;
}
.meyasu_box p{
	margin-top: 0 !important;
}

.chyuui_box{
	width: 70%;
	margin-left: auto;
	margin-right: auto;
}

/*成人水泳*/
.top_class_adult{
	padding-left: 40px;
}

.top_class_adult .top_class_ti_img{
	position: absolute;
	top:100px;
	right: 50px;
}

 .naminami-blue h2,.naminami-blue p{
	color: #0077BF;
}




/*カード*/
.container-fluid{
	margin-top: 50px;
}
.top_content_box{
	position: relative;
}
.top_content_box .row{
	margin-top: 2.5rem;
}
.top_content_box .card{
	padding: 20px;
	border: 3px solid #ECF6FC;
box-shadow: 3px 3px 0px #0077BF;
	background-color: #ECF6FC;
	position: relative;
	background-image: url(../../../../images/top/arrow.png);
	background-size: 17px;
	background-repeat: no-repeat;
	background-position: right 25px bottom 30px;
	transition: 0.3s;
	margin-bottom: 20px;
	border-radius: 15px;
}
.top_content_box .card img{
width: 60%;

	border-radius: 10px;
}
.top_content_box h3{
	font-size: 18px;
	color:  var(--color-primary);
	margin: 0px 0 0px;
	text-align: left;
}
.top_content_box .card a{
font-size: 18px;
	color:  var(--color-primary);
	margin: 0px 0 0px;
	text-align: left;
	font-weight: 600;
}
.top_content_box .card a:hover{
	text-decoration: none;
}
.top_content_box .card__link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  pointer-events: auto;
  content: "";
  background-color: transparent;
}

.top_content_box .card:hover{
	background-color: #fff;
	border: 3px solid var(--color-primary);
box-shadow: 3px 3px 0px var(--color-primary);
}
.top_content_box .inner{
	position: relative;
	z-index: 2;
}
.top_about_maru1{
	position: absolute;
	left:-50px;
	top:20%;
	z-index: -1;
}
.top_about_maru2{
	position: absolute;
	right:20px;
	top:20%;
}
.sns_ti{
	color: #000;
	font-size: 24px;
	margin-bottom: 20px;
}
.sns_ti i{
	color:  var(--color-primary);
	font-size: 40px;
	margin-right: 10px;
	position: relative;
	top:5px;
}
#t4-slideshow{
	z-index: 1;
}

/*制度紹介*/
.site-default #t4-main-body .container {
    width: 100%;
    max-width: 100%;
    padding: 0;
}
.item-527 #t4-main-body .container {
  width: 100%;
  max-width: 1140px;
  padding:0;
}

.item-527 .items-row .item{
  padding-bottom:0;
}
.item-527 .items-row h2{
  font-size:32px !important;
}
.system_img p{
  margin-top:0!important;
}
.system_head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    flex-direction: row;
    flex-wrap: wrap;
}
.system_head h3{
  margin-bottom:20px;
  font-size:2rem !important;
  color:var(--color-primary);
}
span.system_label {
    background: #0077bf;
    color: #fff;
    padding: 1px 10px;
    border-radius: 5px;
  margin-left:5px;
}
span.system_label-paid {
    background: #cb74a7;
}
.item-529 .t4-main-body{
	margin-bottom: 0;
	padding-bottom: 0;
}
.item-529 .item-intro{
	margin-bottom: 0;
}
.item-529 .items-row .item{
	padding-bottom: 0;
}

.system_box{
	background-color: var(--color-custom-2);
	border-radius: 50px;
	padding: 60px 60px 50px;
	background-size: 1328px;
	background-position: bottom;
	background-repeat: repeat-x;
}
.system_box h2{
	color: var(--color-primary);
	margin-bottom: 2.5rem;
}
.system_box .heading01{
	text-align: left;
}
.system_box dl{
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin-top: 2rem;
}
.system_box dt {
  width: 20%;
  margin-bottom: 10px;
	padding: 15px;
  background-color: #fff;
	color: var(--color-primary);
	font-size: 1.0rem;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.system_box dd {
  width: 80%;
  font-size: 0.95rem;
	padding: 15px;
  margin-bottom: 10px;
}

.system_list{
	 font-size: 0.95rem;
}

.system_box ul{
	list-style: none;
	margin: 0;
	padding: 0;
}

.system_box ul> li{
	margin-bottom: 10px;
	line-height: 1.5;
	text-indent: -1.4em;
	margin-left: 1.4em;
}


.system_box ul >li::before{
	  font-family: "Font Awesome 5 Free";
  content: "\f111";
	font-weight: 900;
	margin-right: 7px;
	color:  var(--color-primary);
	font-size: 70%;
	position: relative;
	top:-3px;
}

.facility-grid{
	 display: grid;
	    width: 1140px;
    margin: 5rem auto 0;
  grid-template-columns: 1fr 1fr 1fr;
}
.facility-grid div{
	padding: 16px;
}
.facility-grid h4{
	margin:20px 0 0;
}
.facility-grid p{
	margin-top: 15px !important;
}
.facility-grid img{
	border-radius: 10px;
}

.free_box{
	background-color: #fff;
	width: 70%;
	margin: auto;
}

.flow_box {
  display: flex;
  justify-content: center;
  align-items: center;
	margin: 3rem auto;
}

.flow {
  padding-left: 0;
}

.flow > li {
  list-style-type: none;
  display: flex;
}

.flow > li:not(:last-child) {
  margin: 0 0 30px;
}

.flow > li .flow_icon {
  width: 90px;
  box-sizing: border-box;
  padding: 20px 10px 10px;
  font-weight: bold;
  color: #FFF;
  text-align: center;
  background: var(--color-primary);
  border-radius: 5px 5px 0 0;
  position: relative;
  line-height: 125%;
  margin: 0;
}
.flow > li .flow_icon::after {
  content: ' ';
  width: 0;
  height: 0;
  border-left: 45px solid transparent;
  border-right: 45px solid transparent;
  border-top: 20px solid var(--color-primary);
  position: absolute;
  bottom: -20px;
  left: 0;
}
.flow > li:last-child .flow_icon {
	 border-radius: 5px;
}
.flow > li:last-child .flow_icon::after{
	display: none;
}


.flow_txt {
  padding: 0 0 0 30px;
  width: calc(100% - 115px);
}


/*レッスン内容スケジュール*/
.lesson_list{
	list-style: none;
	margin: 2rem auto;
	width: 1140px;
  padding-left:0;
	border-top: solid 3px #0077BF;
}
.lesson_list li{
	padding: 3.0rem 0;
	border-bottom: dashed 2px #7AB4D8;
}
.box_star{font-weight: 600;
font-size: 1.2rem}

.lesson-info_title h3{
  width:30%;
  font-size:35px !important;
}

/*全料金一覧*/
/*
.item-532 #t4-main-body .container {
  width: auto;
        max-width: 1320px;
  padding:0;
}*/
.fee-table{
	width: 100%;
}
.fee-table td,.fee-table th{
	border: solid 1px rgba(220,220,220,1.00);
	padding: 10px 15px;
	line-height: 1.7;
	font-size: 1rem;
}
.fee-table th{
	background-color: var(--color-custom-2);
	text-align: center;
}
.fee-table strong{
	font-size: 23px;
	/* font-weight: 400; */
	color: var(--color-primary);
	  font-family: 'Lato', "Noto Sans JP", sans-serif;
}

.table-adult th:nth-child(1){
	width: 13%;
}

.table-adult th:nth-child(2),
.table-adult th:nth-child(3),
.table-adult th:nth-child(5){
	width: 10%;
}
.table-adult th:nth-child(4){
	width: 12%;
}
.table-adult th:nth-child(7){
	width: 30%;
}

.table-kids1 th:nth-child(1),
.table-kids1 th:nth-child(3),
.table-kids1 th:nth-child(4){
	width: 15%;
}


.table-junior1 th:nth-child(1),
.table-junior1 th:nth-child(3){
	width: 15%;
}
.table-junior1 th:nth-child(4),
.table-junior1 th:nth-child(5){
	width: 23%;
}

.item .chuui_list{
	list-style: none;
	padding: 0;
	margin: 2rem 0 0;
}
.item .chuui_list li{
	line-height: 1.5;
	margin-bottom: 15px;
	text-indent: -1em;
	margin-left: 1em;
}
.item .chuui_list li::before{
  display:none;
}

/*コース・料金*/
.course_box{
	background-color: #fff;
filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
	padding: 35px 20px;
	border-radius: 25px;
    width: 30.33333333%;
	margin: 1.5%;
	position: relative;
}
.junior_outer .course_box{
  padding: 35px 30px;
}
.course_box p span{
	font-size: 32px !important;
	font-weight: 600;
	font-family: var(--en);
}
.course_box_min{
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	align-items: center;
	justify-content: center;
}
 dl.class_fee_list{
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin-top: 2rem;
}
.class_fee_list dt {
  width: 20%;
  margin-bottom: 10px;
	padding: 15px;
  background-color: #E6F7FF;
	color: var(--color-primary);
	font-size: 1.25rem;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.class_fee_list dd {
  width: 80%;
	padding: 15px;
  margin-bottom: 10px;
	font-size: 16px;
  line-height:1.6;
}
.class_fee_list--outer .class_fee_list dt {
  width: 160px;
}
.class_fee_list--outer .class_fee_list dd {
  width: calc(100% - 160px);
}
.class_fee_list_col-2{
	display: flex;
	flex-wrap: wrap;
}
.class_fee_list_col-2 dt{
	width: 15%;
}
.class_fee_list_col-2 dd{
	width: 35%;
}

.naminami-green1 .class_fee_list dt{
	  background-color: #ECF8F7;
	color: #27A5B5;
}
.naminami-green2 .class_fee_list dt{
	  background-color: #F0FCFD;
	color: var(--color-custom-4);
}
.course .naminami-green1{
  padding-bottom:0;
}
.course .naminami-green2{
  padding-bottom:0;
}
.fukidashi1 {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
	color: var(--color-primary);
  padding: 0px;
		line-height: 1.4;
	font-weight: 600;
  font-size:1rem;
}
.fukidashi1::before {
  content: "";
  width:25px;
  height: 2px;
  transform: rotate(60deg);
  box-sizing: border-box;

  background-color: var(--color-primary);
}
.fukidashi1::after {
  content: "";
  width: 25px;
  height: 2px;
  transform: rotate(-60deg);
  box-sizing: border-box;
  background-color: var(--color-primary);
}
.course_box .btn-s{
	background-color: #0077bf;
	color: #fff;
}

.course_box:hover .btn-s{
width: 130px;
line-height:  32px;
background: transparent;
color: #0077bf;
	text-align: center;
	font-size: 13px;
	display: inline-block;
	background-color: #fff;
	border: solid 2px #0077bf;
	border-radius: 60px;
	margin-top: 20px;
	transition: 0.3s;
}
.course_box a{
  color:#fff;
 text-decoration: none;
}
.course_box a::after{
	  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  pointer-events: auto;
  content: "";
}
.course_box a:hover{
  color:var(--color-primary);
}
.box_card{
	border: solid 3px var(--color-primary);
	border-radius: 25px;
	padding: 30px;
}
 .box_card_border_none .box_card{
	border:  0px;
	border-radius: 0px;
	padding: 0px;
}
.box_card h4{
	color: var(--color-primary);
	margin-top: 15px;
}
.box_card h3{
	color: var(--color-primary);
	margin-top: 15px;
  font-size:1.6rem;
}
.box_card p{
	line-height: 1.6;
	margin-top: 10px !important;
}
.box_card {
        width: 30.33333333%;
    }

.box_card_outer_green2 h3{
  color: #00B9A3;
}
.price_outer p{
	color: #000;
}
.price_txt_outer{
	border-bottom: solid 3px  var(--color-primary);
}
.price_txt_outer h3{
	color:  var(--color-primary);
	font-size: 37px;
}
.junior .price_txt_outer {
  border-bottom-color: var(--color-custom-3);
}
.junior .price_txt_outer h3{
  color: var(--color-custom-3);
}
.parent-child .price_txt_outer {
  border-bottom-color: var(--color-custom-4);
}
.parent-child .price_txt_outer h3{
  color: var(--color-custom-4);
}
.naminami-green2 .price_txt_outer  h3{
  color:  #00B9A3;
}
.price_txt_outer p{
	text-align: right;
	font-size: 20px;
	font-weight: 600;
}
.price_txt1{
	text-align: right;
	font-weight: 600;
	line-height: 1.4;
		color:  var(--color-primary);
}
.price_txt1 span{
	font-size: 50px;
	font-family: var(--en);
}
.price_title2{
	border: solid 2px   var(--color-primary);
	border-radius: 60px;
	text-align: center;
	color:   var(--color-primary);
	font-weight: 600;
	width: 140px;
	font-size: 17px;
	padding: 5px;
}
.plice_txt2{
	padding-left: 15px;
	display: flex;
	align-items: center;
	align-content: center;
	width: calc(100% - 140px);
}
.plice_txt2 p{
	margin-top: 0 !important; 
}
.price_outer .row{
	align-items:flex-start
}
.box_star{
	background-color: #fafafa;
	border-radius: 20px;
	padding: 20px;
}
.star{
	margin-left: 20px;
}

.lesson_flow .box_card{
	border-color: #00B9A3;
	position: relative;
}
.lesson_flow .number{
	position: absolute;
	background-color: #00B9A3;
	width: 60px;
	height: 60px;
	color: #fff;
	font-family: var(--en);
	text-align: center;
	display: flex;
	align-content: center;
	align-items: center;
	font-size: 24px;
	top:-25px;
	left: -25px;
	justify-content: center;
	border-radius: 50%;
	z-index: 3;
}

.taishou_box .course_box{
	width: 47%;
}
.taishou_box h4{
	color:  #00B9A3;
	font-size: 30px;
}

.list_box ul{
	list-style: none;
	margin: 0;
	padding: 0;
}
.list_box li{
	text-indent: -0.7em;
	margin-left: 2em !important
}
.list_box li::before{
	content: "●";
	display: inline-block;
	color:#00B9A3;
	font-size: 16px;
margin-right: 8px;
}
.list_box--blue li::before{
  color:var(--color-primary);
}
.list_box--green1 li::before{
  color:#27A5B5;
}
ul.list_check {
	list-style: none !important;
	margin: 20px 0;
	padding: 0;
}
.list_check li{
	text-indent: -1.2em;
	margin-left: 1.3em 
}
.list_check li::before{
  font-family: "Font Awesome 5 Free";
  content: "\f058";
	font-weight: 900;
	margin-right: 5px;
	color:#00B9A3;
}

.naminami-green1 .price_txt_outer{
	border-bottom: solid 3px #27A5B5;
}
.naminami-green1 .price_txt_outer h3{
	color: #27A5B5;
}

.naminami-green1 .price_txt1{
		color:  #27A5B5;
}

.naminami-green1 .price_title2{
	border: solid 2px  #27A5B5;
	color:  #27A5B5;
}



.naminami-green2 .price_txt_outer{
	border-bottom: solid 3px var(--color-custom-4);
}
.naminami-green2 .price_txt_outer h4{
	color: var(--color-custom-4);
}

.naminami-green2 .price_txt1{
		color:  var(--color-custom-4);
}

.naminami-green2 .price_title2{
	border: solid 2px  var(--color-custom-4);
	color:  var(--color-custom-4);
}

.tokutyou_box h4{
	margin: 25px 0 0;
}
.flow_step{
	background-image: url(../../../../images/junior/arrow_flow.png);
	background-size: 100%;
	background-position: center;
	padding-bottom: 80px;
	background-repeat: no-repeat;
	display: flex;
	flex-wrap: wrap;
}
.flow_step .step_box{
	border: solid 2px #27A5B5;
	border-radius: 50%;
	width:200px !important;
	height: 200px !important;
	background-color: #fff;
	margin-right: 30px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-content: center;
	align-items: center;
	text-align: center;
}
.step_box h3{
	color:  #27A5B5;
	width: 100%;
}
.step_box p{
	line-height: 1.6;
}

.junior_outer h3{
	margin-top: 0 !important;
	font-size: 32px;
	margin-bottom: 20px;
}
.junior_price1{
	padding: 20px 0;
	border-bottom: solid 1px #ccc;
}
.junior_price1 .price_txt1 span{
	font-size: 30px !important;
}


.junior_price1_s{
	border-bottom: none  !important;
	padding-top: 0;
	padding-bottom: 10px;
}
.junior_price1_s .price_txt1 span{
	font-size: 24px !important;
}
.junior_price1_s .self_txt2 {
    padding: 2px 7px;
    border-radius: 5px;
    text-align: center;
	font-size: 16px !important;
}
.junior_price1_s .self_txt1{
	padding-left: 10px;
	font-size: 16px !important;
}
.self_box{
	border: solid 2px var(--color-custom-1);
	padding:0  45px 25px;
	border-radius: 10px;
	margin-top: 15px;
	margin-left: -15px;
	margin-right: -15px;
}
.self_txt2{background-color:  var(--color-custom-1);
color: #fff;
padding: 4px 10px;
	border-radius: 5px;
text-align:  center;
          display:flex;
           justify-content: center;
	align-content: center;
	align-items: center;
          }

.self_txt1{
	font-size: 20px;
	font-weight: 600;
	color:   var(--color-custom-1);
  padding-right:0;
}

.self_box .price_txt1{
	color:   var(--color-custom-1);
  padding-left:0;
  padding-right:0;
}
.title_s{
	font-size: 28px !important;
}
.junior_fee_table{
	margin-top: 40px;
  margin-bottom: 30px;
}
.junior_fee_table th{
	width: 10%;
	text-align: center;
	color:   var(--color-custom-3);
}
  .junior_fee_table td{
    position:relative;
    vertical-align: bottom;
  }
.junior_fee_table .f_box{
  justify-content: space-between;
 align-items:center;
}
  .junior_fee_table .price_txt1{
    position:relative;
  }
/*ココロも育つスイミング*/
.kokoro_box_inner{
	width: 850px;
	margin: auto;
}

/*コンセプト*/
.concept_box{
	max-width: 945px;
	position: relative;
	margin-top:2rem;
	margin-bottom: 1rem;
	margin-left: auto;
	margin-right: auto;
}
.concept_box h2,.concept_box p,
.concept_box img{
	position: relative;
	z-index: 2;
}
.concept_right{
	margin-left: auto;
}
.concept_box h2{
	font-size: 2.8rem !important;
	margin-top: 2rem;
	margin-bottom: 2rem;
	color:  var(--color-primary);
	text-align: center;
}
.concept_box p{
	font-size: 1.2rem;
	line-height: 2.2;
}
.concept_box h2,.concept_box p,
.concept_box img{
	position: relative;
	z-index: 2;
}
img.concept_img{
  object-fit: cover;
	width: 100%;
	aspect-ratio: 16 / 9;
}

/*お問い合わせ*/

textarea.form-control{
	max-width: 100%;
}
label{
	cursor: pointer;
}
input{
	position: relative;
	top:4px;
}
.formControls{
	position: relative;
}
.attach_del{
	position: absolute;
	left :360px;
	top:35px;
}
.btn.btn-primary{
	padding: 20px 90px;
	font-size: 20px;
}
.form-row{
width: 80%;
	margin: auto;
}
.input-group{
  align-items: baseline;
gap:.5em;
}

/*最新情報*/
.blog-content  #t4-main-body .container{
	padding: 0 10% ;
}
.module-title{
	background-color: var(--color-primary);
	border-radius: 10px;
	color: #fff;
	border: none;
	padding: 15px;
}
.module-title span {
    border-bottom: 0px solid #adb5bd;
    margin-bottom: 0px;
    padding: 0rem;
}

.news_listbox{
	display: flex;
	flex-wrap: wrap;
}
.news_img{
	width: 30%;
}
.news_txt{
	width: 65%;
	margin-left: auto;
}
/*
.system-unpublished{
	display: flex;
	flex-wrap: wrap;
}
.system-unpublished .page-header{
	width: calc(100% - 150px);
}
.system-unpublished .article-aside{
	width: 130px;
	text-align: right;
	margin-left: auto;
	padding-top: 10px;
	padding-right: 15px;
}
*/
.blog-content .blog-items .item{
	border-bottom: solid 2px #eee;
}
.system-unpublished .page-header{
	margin-bottom: 15px;
}
.category-name a{
	background-color:  var(--color-primary);
	color: #fff;
	padding: 4px 10px;
	border-radius: 4px;
	font-size: 11px;
	line-height: 1.9;
}
.published .fa{
	display: none;
}
 .pagination-wrap{
     justify-content: center;
}
 .pagination {
     --t4-pagination-padding-x: 0.95rem;
     --t4-pagination-padding-y: 0.35rem;
     --t4-pagination-font-size: 1rem;
     --t4-pagination-color: var(--color-primary);
     --t4-pagination-bg: #fff;
     --t4-pagination-border-width: 1px;
     --t4-pagination-border-color: #dee2e6;
     --t4-pagination-border-radius: 2.25rem;
     --t4-pagination-hover-color: #0a58ca;
     --t4-pagination-hover-bg: #e9ecef;
     --t4-pagination-hover-border-color: #dee2e6;
     --t4-pagination-focus-color: #0a58ca;
     --t4-pagination-focus-bg: #e9ecef;
     --t4-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
     --t4-pagination-active-color: #fff;
     --t4-pagination-active-bg: var(--color-primary);
     --t4-pagination-active-border-color: var(--color-primary);
     --t4-pagination-disabled-color: #6c757d;
     --t4-pagination-disabled-bg: #fff;
     --t4-pagination-disabled-border-color: #dee2e6;
     display: flex;
     font-family: 'Lato', "Noto Sans JP", sans-serif;
     ;
     padding-left: 0;
     list-style: none;
}
 .pagination-wrap .counter{
     display:none;
}


/*お知らせ 長すぎた場合*/
.readmore {
  position: relative;
/*
  margin: 50px auto 0;
*/ padding: 0 0 55px
}

.readmore label {
  position: absolute;
  display: table;
  left: 50%;
  bottom: 0;
  margin: 0 auto;
  width: 150px;
  padding: 5px 0;
  color: #fff;
	font-size: 14px;
  text-align: center;
  border-radius: 50px;
  background-color:var(--color-primary);
  transform: translateX(-50%);
  cursor: pointer;
  z-index: 1;
}

.readmore label::before{
  content: '続きを見る';
}

.readmore input[type="checkbox"]:checked ~ label::before {
  content: '元に戻す';
}

.readmore input[type="checkbox"]{
  display: none;
}

.readmore-content {
  position: relative;
  height: 300px;
  overflow: hidden;
}

.readmore input[type="checkbox"]:checked ~ .readmore-content {
  height: auto;
}
.input-group{
  align-items: baseline;
gap:.5em;
}
.rsform-block-submit  label{
  display:none !important;
}
.rsform-block-submit .formControls.col-sm-9{
  width: 100%;
  text-align:center;
}
/* 行数制限 */
 .blog.view-category .item-intro{
     display: -webkit-box;
     -webkit-box-orient: vertical;
     -webkit-line-clamp: 3;
    /* 制限したい行数が3の場合 */
     overflow: hidden;
}
 .blog.view-category .item-intro .news_txt {
     display: -webkit-box;
     -webkit-box-orient: vertical;
     -webkit-line-clamp: 5;
     overflow: hidden;
}

/* ページネーション */

.pagination-wrap{
  justify-content: center;
}
.pagination {
	
    --t4-pagination-padding-x: 0.95rem;
    --t4-pagination-padding-y: 0.35rem;
    --t4-pagination-font-size: 1rem;
    --t4-pagination-color: var(--color-primary);
    --t4-pagination-bg: #fff;
    --t4-pagination-border-width: 1px;
    --t4-pagination-border-color: #dee2e6;
    --t4-pagination-border-radius: 2.25rem;
    --t4-pagination-hover-color: #0a58ca;
    --t4-pagination-hover-bg: #e9ecef;
    --t4-pagination-hover-border-color: #dee2e6;
    --t4-pagination-focus-color: #0a58ca;
    --t4-pagination-focus-bg: #e9ecef;
    --t4-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
    --t4-pagination-active-color: #fff;
    --t4-pagination-active-bg: var(--color-primary);
    --t4-pagination-active-border-color: var(--color-primary);
    --t4-pagination-disabled-color: #6c757d;
    --t4-pagination-disabled-bg: #fff;
    --t4-pagination-disabled-border-color: #dee2e6;
    display: flex;
	  font-family: 'Lato', "Noto Sans JP", sans-serif;
;
    padding-left: 0;
    list-style: none;
}
.pagination-wrap .counter{
  display:none;
}
/*最新情報 追加*/
 .blog-content2 .item-intro * {
     all: initial !important;
     color: #777 !important;
}
 .blog-content2 .item-intro div {
     display: contents !important;
}
 .blog-content2 .item-intro img, .blog-content2 .item-intro br {
     display: none !important;
}
 .blog-content2 .item-intro {
     display: -webkit-box;
     -webkit-box-orient: vertical;
     -webkit-line-clamp: 3;
     overflow: hidden;
}
 .blog-content2 .item-intro *::before,.blog-content2 .item-intro *::after {
     display: none;
}

/*お問い合わせ*/
.send-ic{
	color: var(--color-primary);
	text-align: center;
	font-size: 70px;
}
textarea.form-control{
	max-width: 100%;
}
label{
	cursor: pointer;
}
input{
	position: relative;
	top:4px;
}
.formControls{
	position: relative;
}
.attach_del{
	position: absolute;
	left :360px;
	top:35px;
}
.btn.btn-primary{
	padding: 20px 90px;
	font-size: 20px;
}
.form-row{
max-width: 80%;
	width: 1140px;
	margin: auto;
}
.input-group{
  align-items: baseline;
gap:.5em;
}
.rsform-block-submit  label{
  display:none !important;
}
.rsform-block-submit .formControls.col-sm-9{
  width: 100%;
  text-align:center;
}

/* 幼稚園・保育園 */
.topline_midashi{
  border-top:solid 1px #ccc;
  padding-top:30px;
  font-size:1.6rem;
}

/*サイトマップ*/
 .sitemap-main{
	margin-bottom: 4rem;
	width: 1140px;
	margin-left: auto;
	margin-right: auto;
}
 .sitemap-main h3{
	font-size: 1.5rem;
	padding-bottom: 10px;
	border-bottom: solid 1px #ccc;
	color: var(--color-primary);
	position: relative;
	margin-top: 50px;
}
 .sitemap-main h3::before{
	content: '';
	display: inline-block;
	width: 5px;
	height: 30px;
	opacity: 0.6;
	margin-right: 10px;
	position: relative;
	top:4px;
	background-color:  var(--color-primary);
}
 .sitemap-main h3 a{
	color: var(--color-primary);
	transition: 0.3s;
}
 .sitemap-main h3 a:hover{
	color: rgba(79,79,79,1.00);
	text-decoration: none;
}
.sitemap-main ul{
	list-style: none;
	padding: 0;
	margin: 0;
}
.sitemap-main li{
	font-size: 1.2rem;
}
 .sitemap-main li a{
	color: #000;
	transition: 0.3s;
	font-weight: 400;
}
.sitemap-main li a:hover{
color: var(--color-primary);
}
.sitemap-main .col-6{
	padding: 0 40px;
}
/*キャンペーン情報*/
.campaign_index{
  width: 80%;
	margin: 4rem auto 0!important;
   margin-bottom: 30px;
    padding: 1em 1em 1em 2em;
    border: 1px solid #ccc;
    background-color: #fafafa;
      border-radius: 20px;
    color: #333333;
}
.campaign_index ul{
  list-style: none;
  padding:0;
  display: flex;
	flex-wrap: wrap;
}
.campaign_index li{
  font-size: 16px;
  font-weight:400;
 margin:15px 0;
  width: 46%;
  text-indent: -1.5rem;
	margin-left: 1.5rem;
 
}
.campaign_index li a{
   color: #333;
}
.campaign_index li a:hover{
   color: var(--color-custom-4);
}
.campaign_index li::before{
      font-family: "Font Awesome 5 Free";
    content: "\f138";
    font-weight: 900;
    margin-right: 7px;
    color: var(--color-custom-4);
    position: relative;
}
.campaign_box{
	width: 80%;
	margin: 2rem auto;
}
.campaign_box img{
	margin-bottom: 2rem;
}
.campaign_box::before{
	    content: "";
    display: block;
    height: 150px; /* 調整したい高さ（固定ヘッダーの高さ） */
    margin-top: -150px; /* heightと同じ分のネガティブマージン */
    visibility: hidden;
}
.campaign_table_outer{
	background-color:#F2FAFF;
	border-radius: 20px;
	margin-top: 1.5rem;
	padding: 40px;
}
 .wide-70{
     width: 70%;
     margin:auto;
}

/*管理画面・編集画面*/
.article-aside {
z-index: 9998; 
  position: relative;
}


/* 目次（TOC） */
ul.page_toc {
    counter-reset: toc;
    list-style: none;
}
ul.page_toc a {
    color: #0077bf;
}

/* 1階層 */
ul.page_toc>li {
    counter-increment: toc;
    font-weight:bold;
}
ul.page_toc>li::before {
    content: counter(toc,decimal-leading-zero);
    color:#0077bf;
    border-right: solid 3px;
    font-weight: bold;
    padding-right: 0.3em;
    margin-right: 0.3em;
    line-height: 1;
}

/* 2階層 */
ul.page_toc ul {
    list-style: disc;
    margin-bottom: 1rem;
    font-weight:normal;
}
ul.page_toc ul>li::marker {
    color: #84d1f5;
}

/* 体験申込みバナー */
.nyukai_banner {
    margin: 4rem -2rem;
    background: #f5f5f5;
    padding: 3em 2rem;
    border-radius: 1rem;
    border: solid 1px #eee;
}
.nyukai_banner>h2 {
    text-align: center;
    font-weight: 600;
    font-size: 1.25rem !important;
    margin: 0 0 .5em;
}
.animation_dokidoki {
     animation: dokidoki 1.5s infinite;
     display:block;
}
 @keyframes dokidoki {
     0% {
         transform: scale(1.05) 
    }
     8% {
         transform: scale(1) 
    }
     92% {
         transform: scale(1) 
    }
     100% {
         -webkit-transform: scale(1.05) 
    }
}