@charset "utf-8";
/*
theme Name: nijiiro-template
Author: nijiiro
Description: nijiiro original theme
version： 1.0.0
*/

body {
line-height: 1.8;
margin: 0;
padding: 0;
color: #000;
position: relative;
word-wrap: break-word;
overflow-wrap: break-word;
}
img {
max-width: 100%;
height: auto;
display: block;
}
form{
margin:0;
padding:0;
}
.wrap {
margin: 0 auto;
padding: 40px 0 50px;
}
/* SP */ @media only screen and (max-width: 767px){
  .wrap {
  width: 100%;
  padding: 3rem 0 4rem;
  }
}

/*コンテンツのサイズ指定*/
.container {
box-sizing: border-box;
max-width: 1000px;
margin-right: auto;
margin-left: auto;
}
.container:after {
display: block;
clear: both;
content: '';
}
.container.page_container {
width: auto;
max-width: 100%;
padding: 0;
}
.contents {
width: 730px;
margin-right: 30px;
padding: 0 30px 4rem;
float: left;
/*width: 70%;
margin-right: 3%;*/
background-color: #fff;
box-sizing: border-box;
border-radius: 15px;
}
.contents_full {width: 100%;}


/*---------------------------------------------------------
固定ページフリーデザイン用
---------------------------------------------------------*/
.free_cont {
width: 100%;
margin: 0;
padding: 0;
}
.sidebar {
width: 240px;
margin-top: 15px;
float: left;
/*width: 27%;*/
}

/* SP */ @media only screen and (max-width: 767px){
  .container {
  /*padding: 2rem 1.25rem;*/
  padding: 0 2% 1rem;
  }
  .contents {
  padding: 0 3%;
  }
}


/*---------------------------------------------------------
header-CSS ヘッダー
---------------------------------------------------------*/
#global-nav ul.first_nav .g_nav_btn.home_on {display: none!important;}
#global-nav ul.first_nav .g_nav_btn.home_off{display: flex!important;}
body.home #global-nav ul.first_nav .g_nav_btn.home_on {display: flex!important;}
body.home #global-nav ul.first_nav .g_nav_btn.home_off {display: none!important;}

/*pc */ @media print, screen and (min-width: 768px){
body , html{min-width: 1200px;}
header{
width: 100%;
height: 80px;
background-color: #fff;
position: sticky;
top: 0;
left: 0;
z-index: 9999;
/*transition: 1s cubic-bezier(.4, 0, .2, 1);*/
transition: all 0.3s ease;
}
header.is-animation{
height: 70px;
box-shadow:0 2px 5px 0 #dbdbdb;
background-color: rgba(255, 255, 255, 0.8);
transition: all 0.3s ease;
/*transform: translateY(-80px);*/
}
header .header-inner {
width: 1200px;
margin: 0 auto;
display: block;
}
.head-logo {
width: 250px;
margin: 0 70px 0 0;
transition: all 0.3s ease;
}
header.is-animation .head-logo {
/*width: 290px;
margin-top: 15px;
margin-right: 0;
transition: all 0.3s ease;*/
}
header .header-inner .top_links01 {
margin-top: 10px;
padding-left: 45px;
background:url(./images/call_icon.png) center left / 42px auto no-repeat;
}
header .header-inner .top_links01 a {
margin-right: 25px;
margin-left: -8px;
font-size: 4.0rem;
line-height: 0.8;
display: block;
transition: all 0.3s ease;
}
header .header-inner .top_links01 .blue {
line-height: 1;
font-size: 1.5rem;
transition: all 0.3s ease;
}
header .header-inner .top_links02 a {
width: 230px;
height: 50px;
margin-top: 15px;
padding: 6px 0 0 75px;
line-height: 1.2;
background:url(./images/contact_btn.png) center left 20px / 32px auto no-repeat;
color: #fff;
background-color: #07ac68;
border-radius: 999px;
overflow: hidden;
border-bottom: 3px solid #098E6D;
-webkit-box-sizing: border-box;
box-sizing: border-box;
font-weight: 600;
-webkit-transition: .3s;
transition: .3s;
display: block;
}
header .header-inner .top_links02 a span {
letter-spacing: 2px;
    padding-left: 2px;
}
header .header-inner .top_links03 a {
width: 200px;
height: 70px;
padding: 10px 0 0 75px;
line-height: 1.4;
background:url(./images/blog_btn.png) center left 20px / 45px auto no-repeat;
background-color: #3F2710;
border-radius: 0 0 10px 0;
transition: all 0.3s ease;
}
header.is-animation .header-inner .top_links01 a {
font-size: 3.4rem;
transition: all 0.3s ease;
}
header.is-animation .header-inner .top_links01 .blue {
font-size: 1.3rem;
transition: all 0.3s ease;
}
header.is-animation .header-inner .top_links02 a {
margin-top: 10px;
/*height: 65px;
padding-top: 3px;
line-height: 1.3;
transition: all 0.3s ease;*/
}
#global-nav {
width: 100%;
}
header.is-animation #global-nav {
/*margin-top: 8px;*/
}
#global-nav ul.first_nav {
width: 500px;
margin: 0 auto;
padding-top: 20px;
display: table;
}
.is-animation #global-nav ul.first_nav {
padding-top: 15px;
/*margin: 0 auto;*/
transition: all 0.3s ease;
}
/* アニメーション */
#global-nav ul.first_nav {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
margin: 0;
}
#global-nav ul.first_nav .g_nav_btn {
text-decoration: none;
font-size: 16px;
font-weight: 600;
position: relative;
z-index: 1;
overflow: hidden;
text-align: center;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: start;
-ms-flex-align: start;
align-items: flex-start;
padding: 0 20px;
background: url(./images/dot.png) repeat-y left top;
}
#global-nav ul.first_nav > li:nth-child(10) {
background: url(./images/dot.png) repeat-y left top, url(./images/dot.png) repeat-y right top;
}
#global-nav ul.first_nav .g_nav_btn.home_on {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
body.home #global-nav ul.first_nav .g_nav_btn.home_on {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
body.home #global-nav ul.first_nav .g_nav_btn.home_off {display: none;}
#global-nav ul.first_nav .g_nav_btn img:hover {opacity: 1;}
#global-nav ul.first_nav > li > .g_nav_btn > span {font-size: 1.6rem;}
#global-nav ul.first_nav > li:hover > .g_nav_btn > span {
color: #0e71af;
transition: 0.5s;
}
#global-nav ul li {
width: 200px;
position: relative;
line-height: 1.4;
text-align: center;
}
#global-nav ul li a a::after {
content: '';
height: 1px;
width: 0;
left: 0;
position: absolute;
bottom: 0;
-webkit-transition: .3s;
transition: .3s;
background-color: #dfdad7;
}
#global-nav ul li a .g_nav_sub {
font-size: 1.4rem;
text-align: left;
white-space: nowrap;
color: #000;
}
#global-nav ul.first_nav > li > .g_nav_btn > span.nsub-txt {
font-size: 1.4rem;
color: #d4cdc9;
white-space: nowrap;
}
span.nsub-txt:first-letter {
color: #2CA6D1;
font-weight: 700;
font-size: 105%;
}
.menu_second-level li {
padding: 0.75rem 0;
background: rgba(255, 255, 255, 0.8);
opacity: 0;
transform-origin: bottom;
animation: enter 0.2s ease forwards;
border-bottom: 1px solid #ccc;
}
.menu_second-level li:nth-child(1) {
animation-duration: 0.2s;
animation-delay: 0s;
}
.menu_second-level li:nth-child(2) {
animation-duration: 0.3s;
animation-delay: 0.1s;
}
.menu_second-level li:nth-child(3) {
animation-duration: 0.4s;
animation-delay: 0.2s;
}
.menu_second-level li:nth-child(4) {
animation-duration: 0.5s;
animation-delay: 0.3s;
}
.menu_second-level li:nth-child(5) {
animation-duration: 0.6s;
animation-delay: 0.4s;
}
.menu_second-level li:nth-child(6) {
animation-duration: 0.7s;
animation-delay: 0.5s;
}
.menu_second-level li:hover {background: #2ca6d1;}
#global-nav ul.menu_second-level li:hover a {color: #fff;}
.menu_second-level li a {
padding: 8px 0.75rem;
text-decoration: none;
color: #000;
}
.menu_second-level {
position: absolute;
width: 100%;
top: 100%;
left: -8%;
display: none;
z-index: 1;
}
#global-nav > ul > li:hover > .menu_second-level {
  display: block;
}
@keyframes enter {
  from {
    opacity: 0;
    transform: scaleY(0.98) translateY(10px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

 /*--  PC一番右端のメニューは右端に揃える --*/
.first_nav > li:nth-last-child(3) > ul.menu_second-level {
position: absolute;
right: 0;
}
.first_nav > li:hover ul.menu_second-level {
visibility: visible;
opacity: 1;
}
/* メニューをホバー時のナビゲーションメニューの動作 */
#global-nav ul.first_nav li:hover .g_nav_btn a span {
opacity: .8;
transition: 0.3s;
}
/* 現在のページのとき背景色を設定
#Non-global-nav ul.first_nav > li.current > .g_nav_btn {background-color: #77b47b;}
}*/
/* セカンドリンク設定
.first_nav > li > ul.menu_second-level > li a {
margin-bottom: 1em;
padding: 0 0 0 40px;
color: #fff;
text-decoration: none;
font-size: 15px;
vertical-align: middle;
display: inline-block;
position: relative;
}
.first_nav > li > ul.menu_second-level > li a::before,
.first_nav > li > ul.menu_second-level > li a::after{
position: absolute;
top: 0;
bottom: 0;
left: 0;
margin: auto auto auto 8px;
content: "";
vertical-align: middle;
}
.first_nav > li > ul.menu_second-level > li a::before{
width: 20px;
height: 20px;
-webkit-border-radius: 50%;
border-radius: 50%;
background: #fff;
}
.first_nav > li > ul.menu_second-level > li a::after{
left: 7px;
top: 0;
box-sizing: border-box;
width: 8px;
height: 8px;
border: 5px solid transparent;
border-left: 8px solid #2ca6d1;
} */
}

/* header-SP */ @media only screen and (max-width: 767px){
	body{padding-top: 60px;}
  .container{	/*overflow: hidden;*/	}
	header{padding: 10px 0 0 10px;}
	header.is-animation{	box-shadow:0 2px 5px 0 #dbdbdb;}
	.head-animation {transform: translateY(-100%); transition: 2s;}
	.head-logo{
  max-width: 50%;
	}
  .head-logo a {
  margin: 5px 0 0 10px;
  display: block;
	}
  .head-logo img {
  width: auto;
  height: 50px;
  }
	.inner:after {
	content: "";
	clear: both;
	display: block;
	}
  header .header-inner .top_links01 {
  margin-right: 48px;
  margin-top: 10px;
  }
  header .header-inner .top_links01 li {
  width: auto;
  height: 37px;
  margin-right: 5px;
  }
  header .header-inner .top_links01 a img {
  width: auto;
  height: 100%;
  }
  /* メニュー開封時のHTMLの動作 */
  .scroll-prevent body {
  /*奥行きを管理*/
  z-index: -1;
  /*下2つで背景を元のサイズのまま表示することができる*/
  width: 100%;
  height: 100%;
  overflow: hidden;
  }
	/* header MENU */
	#top-head {
	top: -100px;
	position: absolute;
	width: 100%;
	margin: 100px auto 0;
	padding: 30px 0 0;
	line-height: 1;
	z-index: 1200;
	transition: .5s;
	}
	#top-head.hide{
  transform: translateY(-100%);
	}
	#top-head a{
	color: #000;
	text-decoration: none;
	}
	#top-head .inner {
	position: relative;
	}

	/* Fixed */
	#top-head.fixed {
	margin-top: 0;
	top: 0;
	position: fixed;
	padding-top: 10px;
	height: 55px;
	background: rgba(23,89,27,.7);
	}

	/* Toggle Button */
	.nav-toggle {
	display: none;
	position: absolute;
	}
	.nav-toggle div {
  width: 35px;
  height: 24px;
  display: inline-block;
  -webkit-transition: all .4s;
  transition: all .4s;
  box-sizing: border-box;
  position: fixed;
  top: 17px;
  right: 10px;
  z-index: 10;
	}
	.nav-toggle span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #3f2710;
  border-radius: 10px;
  z-index: 10;
	}
  .nav-toggle span:nth-of-type(1) {
  top: 0px;
  transition: .3s;
  }
  .nav-toggle span:nth-of-type(2) {
  top: 10px;
  transition: .3s;
  }
  .nav-toggle span:nth-of-type(3) {
  bottom: 0px;
  transition: .3s;
  }
  .nav-toggle.active span:nth-of-type(1) {
  -webkit-transform: translateY(10px) rotate(45deg);
  transform: translateY(10px) rotate(45deg);
  transition: .3s;
  }
  .nav-toggle.active span:nth-of-type(2) {
  opacity: 0;
  transition: .3s;
  }
  .nav-toggle.active span:nth-of-type(3) {
  -webkit-transform: translateY(-10px) rotate(-45deg);
  transform: translateY(-10px) rotate(-45deg);
  transition: .3s;
  }
  #global-nav {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  opacity: 0;
  background-color: #fff;
  transition: all 0.3s ease-in-out;
  visibility: hidden;
  }
  #global-nav.active {
  right: 0;
  opacity: 1;
  -moz-transform: translateX(0);
  -webkit-transform: translateX(0);
  transform: translateX(0);
  visibility: visible;
  overflow: auto;
  }
  #global-nav ul li a {
  padding: 20px 0;
  transition: all 0.2s ease-in-out;
  text-align: center;
  text-decoration: none;
  }
  #global-nav ul li a .g_nav_sub {
  font-size: 1.6rem;
  text-align: left;
  white-space: nowrap;
  }
  #global-nav ul.first_nav > li > .g_nav_btn > span.nsub-txt {
  color: #d4cdc9;
  white-space: nowrap;
  font-size: 1.4rem;
  display: block;
  }
  span.nsub-txt::first-letter {
  color: #2ca6d1;
  font-weight: 700;
  font-size: 105%;
  }
  li.close .nav-toggle {
	width: 90%;
  height: auto;
  margin: 1rem auto;
  padding: 1rem;
  color: #d8f3ff;
  font-weight: bold;
  text-align: center;
	cursor: pointer;
  background: #2ca6d1;
	z-index: 15;
  display: block;
  position: relative;
  right: auto;
  top: auto;
	}
	#top-head, .inner {
	width: 100%;
	padding: 0;
	}
	#top-head {
	top: 0;
	position: fixed;
	margin-top: 0;
	}
	/* Fixed reset */
	#top-head.fixed {
	padding-top: 0;
	background: transparent;
	}
	#mobile-head {
	width: 100%;
	height: 60px;
	z-index: 999;
	position: relative;
	background: #fff;
	}
	#global-nav > ul.first_nav {
  padding-top: 65px;
	list-style: none;
	overflow: scroll;
	-webkit-overflow-scrolling: touch;
	}
	#global-nav ul.first_nav > li {
	float: none;
	position: static;
	}
	#global-nav ul.first_nav > li:last-child {
  float: none;
	position: static;
	}
	#top-head #global-nav ul.first_nav > li > a,
	#top-head.fixed #global-nav ul.first_nav > li > a {
	width: 90%;
  margin: 1rem auto;
  padding: 15px 0 0;
  font-weight: bold;
  line-height: 1.4;
  border-top: 2px dotted #d4cdc9;
  display: block;
	}
  #top-head #global-nav ul.first_nav > li:last-child > a {
  padding-bottom: 10px;
  border-bottom: 2px dotted #d4cdc9;
  }
  #top-head #global-nav ul.first_nav .g_nav_btn.home_on {display: none;}
  body.home #top-head #global-nav ul.first_nav .g_nav_btn.home_on {display: block;}
  body.home #top-head #global-nav ul.first_nav .g_nav_btn.home_off {display: none;}
  #global-nav ul.menu_second-level {
  width: 90%;
  margin: 1rem auto;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
	}
  #global-nav ul.menu_second-level > li {
  width: 100%;
  margin-bottom: 1rem;
	}
  #global-nav ul.menu_second-level > li a {
  width: 100%;
  height: 100%;
  padding: 1.6rem 2%;
  font-size: 1.6rem;
  background: #d8f3ff;
  border-radius: 8px;
  display: block;
	}
  #global-nav ul.sub-menu.menu_second-level > li {
  width: 32%;
  margin-right: 2%;
  float: left;
  }
  #global-nav ul.sub-menu li:last-child {
  margin-right: 0;
  }
  .sp-call-btn {
  width: 50px;
  height: 50px;
  position: absolute;
  right: 60px;
  top: 5px;
  }
  .sp-nav-btn {
  width: 60px;
  height: 60px;
  position: absolute;
  right: 0;
  top: 0;
  }
	.nav-toggle {
	display: block;
	}
	/* .nav-toggle 切り替えアニメーション */
	.open .nav-toggle span:nth-child(1) {
	top: 11px;
	-webkit-transform: rotate(315deg);
	-moz-transform: rotate(315deg);
	transform: rotate(315deg);
	}
	.open .nav-toggle span:nth-child(2) {
	width: 0;
	left: 50%;
	}
	.open .nav-toggle span:nth-child(3) {
	top: 11px;
	-webkit-transform: rotate(-315deg);
	-moz-transform: rotate(-315deg);
	transform: rotate(-315deg);
	}
	/* #global-nav スライドアニメーション */
	.open #global-nav {
	height: 100%;
	/* #global-nav top + #mobile-head height
	-moz-transform: translateY(200%);
	-webkit-transform: translateY(200%);
	transform: translateY(200%); */
	display:  block;
	background: rgba(23,89,27,0.9);
	text-align: center;
	}
	.open #global-nav ul.first_nav > li:last-child {
	padding-bottom: 300px;
	}
  #top-head .sp-menu-line .line_btn {
  margin-top: 25px;
  }
  #top-head .sp-menu-line .line_btn a {
  width: 100%;
  color: #fff;
  }
  #global-nav ul.first_nav .g_nav_btn.home_on {display: none!important;}
  #global-nav ul.first_nav .g_nav_btn.home_off{display: block!important;}
  body.home #global-nav ul.first_nav .g_nav_btn.home_on {display: block!important;}
  body.home #global-nav ul.first_nav .g_nav_btn.home_off {display: none!important;}
}


/*---------------------------------------------------------
footer-contact-Include CSS
---------------------------------------------------------*/
#inc_contact {
width: 100%;
padding: 50px 0 30px;
background-color: #f7f5f4;
}
#inc_contact .ttlh2 {
margin-bottom: 20px;
text-align: center;
position: relative;
z-index: 1;
}
#inc_contact .contact_title {
margin-top: 5px;
padding: 15px;
line-height: 1;
font-size: 3.4rem;
display: inline-block;
}
#inc_contact .line_btn a {
width: 700px;
margin: 0 auto;
font-size: 2.8rem;
display: block;
}
.map iframe {
width: 660px;
height: 410px;
border-radius: 15px;
}
.f_site_logo {
width: 300px;
}
.access_info {
width: 310px;
}
/* SP */ @media only screen and (max-width: 767px){
  #inc_contact {
  padding: 3rem 5%;
  }
  #inc_contact .contact_title {
  font-size: 2.8rem;
  line-height: 1.3;
  }
  #inc_contact .line_btn a {
  width: 95%;
  font-size: 4.6vw;
  }
  .map iframe {
  width: 100%;
  height: 400px;
  }
}


/*---------------------------------------------------------
footer-CSS フッター
---------------------------------------------------------*/
footer {
width: 100%;
}
.gloup_box {
padding: 0 0 20px;
background-color: #ebeff4;
}
.f_accoBox {
padding: 20px 0 0;
}
.f_group02 {
padding-left: 40px;
border-left: 1px dashed #0e71af;
}
.f_link {
margin-right: 35px;
padding-left: 10px;
display: inline-block;
position: relative;
}
.f_link::before {
content: url(./images/link_arrow01.png);
position: absolute;
left: 0;
}
.footer-copy {
padding: 20px 0;
background-color: #0e71af;
}
.footer-nav {
padding: 0.5em 1em;
background-color: #fff;
border-radius: 5px;
text-align: center;
}
.footer-nav li {
padding: 0 0.5em;
display: inline-block;
border-right: 1px solid #000;
line-height: 1.0;
}
.footer-nav li:nth-child(1) {
border-left: 1px solid #000;
}
.footer-nav li a {
color: #000;
font-size: 1.4rem;
}
address{
font-style: normal;
}
/*-- ▼Footer フッター ▼ --*/
/* sp */
@media only screen and (max-width: 767px){
  footer {padding: 0;}
  .footer-subtitle {
  text-align: center;
  margin: 0 auto;
  display: block;
  }
  .accordion_icon {
  padding: 0;
  }
  .f-title {
  font-weight: 1000;
  color: #0e71af;
  }
  .f_group01 li.fL {
  width: 100%;
  margin: 15px 0;
  }
  .f_group01 li.fL > ul > li {
  width: 100%;
  margin: 20px 0 0;
  }
  .f_group02 {
  padding-left: 0;
  padding-bottom: 20px;
  border: none;
  background: none;
  }
  .f_group02 > li {
  margin: 15px 1% 15px;
  }
  .f_group02 li > ul > li {
  margin: 20px 0 0;
  }
  .f_link {
  margin-top: 10px!important;
  padding-left: 0;
  }
  .f_link::before {content: "";}
  .f_link a {
  padding: 15px 5px 15px 15px;
  background-color: #f5f5f5;
  display: block;
  position: relative;
  }
  .f_link .nolink {
  padding: 15px 5px 15px 15px;
  background-color: #f5f5f5;
  display: block;
  position: relative;
  }
  .mt0sp {
  margin-top: 0px!important;
  }
  .f_accordionbox {
  padding: 1.5em 5%;
  /*box-shadow: 1px 1px 5px 1px #ccc;
  -moz-box-shadow: 1px 1px 5px 1px #ccc, 1px 1px 5px 1px #ccc, 1px 1px 5px 1px #ccc;
  -webkit-box-shadow: 1px 1px 5px 1px #ccc, 1px 1px 5px 1px #ccc, 1px 1px 5px 1px #ccc;*/
  }
  .f_accoBox {
  padding: 0 5% 1em;
  /*display: none;*/
  border-bottom: none!important;
  background-color: #fff;
  }
  .f_jag_logo .accordion_icon {
  background-image: url(./images/toggle_arrow01.gif);
  background-position: right center;
  background-size: 7%;
  background-repeat: no-repeat;
  }
  .f_jag_logo .active-i {
  background-image: url(./images/toggle_arrow02.gif);
  background-position: right center;
  background-size: 7%;
  background-repeat: no-repeat;
  }
  .footer-copy {
  padding: 1em 5% 70px;
  line-height: 1.4;
  }
}


/*---------------------------------------------------------
パンくず
---------------------------------------------------------*/
.breadcrumbs span {
margin-right: 3px;
font-size: 1.3rem;
}
/* sp */
@media only screen and (max-width: 767px){
  .breadcrumbs span {
  font-size: 1.2rem;
  }
}

/*---------------------------------------------------------
sidebar-CSS サイドバー
---------------------------------------------------------*/
/* SP サイドバーお問い合わせバナーはSPで非表示 */
.sidebar-title {
font-size: 1.8rem;
box-sizing: border-box;
margin: 1.5rem 0 0;
padding: .85rem;
color: #2ca6d1;
text-align: center;
}
/* 検索ボックスの「検索」テキスト非表示 */
#sidebar .screen-reader-text {display: none;}
#sidebar .search-form input {
padding: 5px;
border-radius: 5px;
}
#sidebar .search-form .search-submit {
background-color: #2ca6d1;
color: #fff;
font-weight: bold;
padding: 7px 10px;
}
/*デフォルトウィジェット*/
.widget_block {
padding-left: .85rem;
padding-right: .85rem;
}
.widget_recent_entries ul,
.widget_meta ul,
.widget_recent_comments ul,
.widget_pages ul,
.widget_meta ul,
.widget_categories ul,
.widget_archive ul,
.widget_nav_menu ul,
.calendar_wrap,
.tagcloud {
list-style: none;
}
.widget_recent_entries li,
.widget_meta li,
.widget_recent_comments li,
.widget_pages li,
.widget_meta li,
.widget_archive li,
.widget_nav_menu li {
position: relative;
margin-bottom: .85rem;
}
.widget_recent_entries a,
.widget_meta a,
.widget_recent_comments a,
.widget_pages a,
.widget_meta a,
.widget_categories a,
.widget_archive a,
.widget_nav_menu a {
text-decoration: none;
color: #000;
}
.widget_archive {
margin-top: 2rem;
padding: 0 1em 0.5em;
border: 1px solid #2ca6d1;
background: #d3edfb;
border-radius: 5px;
}
.widget_archive .sidebar-title {
margin-top: 0;
}
.widget_archive li {
margin-left: 1em;
}
.widget_archive a:hover {
color: #0066b3;
opacity: 1;
}
.sidebar-wrapper a:hover {
opacity: .6;
}

/*カテゴリウィジェット*/
.widget_categories .sidebar-title {
font-size: 1.8rem;
box-sizing: border-box;
margin: 0;
padding: .85rem;
color: #2ca6d1;
text-align: center;
}
.widget_categories ul {
padding: 0.85rem;
}
.widget_categories li {
margin-bottom: .85rem;
display: block;
}
.widget_categories li a {
padding: 1.5rem 3.2rem 1.5rem 1.5rem;
font-size: 1.4rem;
font-weight: bold;
color: #fff;
background: #2ca6d1;
position: relative;
display: block;
}
.widget_categories li a::before {
font-family:"Font Awesome 5 Free","Font Awesome 5 Brands";
font-weight: 900;
position: absolute;
top: 50%;
right: 2rem;
content: "\f105";
transform: translateY(-50%);
color: #fff;
}
.widget_categories li a:hover::before {
transform: translate(10px, -50%);
transition: .3s;
}
.widget_categories .children {
margin-bottom: .85rem;
padding: 0;
padding-left: 1.7rem;
background-color: #267d2b;
}
.widget_categories .children li {
margin-bottom: 0;
}
.widget_categories .children li a {
font-size: 1.5rem;
background-color: transparent;
}
.widget_categories .children li a::before {
position: absolute;
top: 50%;
left: 1.5rem;
content: '∟';
transform: translateY(-50%);
color: #fff;
}

/*カテゴリウィジェットとアーカイブウィジェットのドロップダウン表示*/
.widget_categories .screen-reader-text {display: none;}
.widget_archive .screen-reader-text {
position: relative;
display: block;
height: 0;
text-indent: -9999999px;
}
.widget_categories form {position: relative;}
.widget_categories form::after {
position: absolute;
top: 50%;
right: 1rem;
content: '▼';
transform: translateY(-50%);
pointer-events: none;
}
.widget_categories .postform,
.widget_archive select {
font-size: 1.6rem;
width: 100%;
padding: 4px 10px;
cursor: pointer;
border: 1px solid #e0e3ef;
border-radius: 0;
background-color: #f4f5f9;
-webkit-appearance: none;
-moz-appearance: none;
}
.widget_archive label::after {
position: absolute;
top: .85rem;
right: 1.7rem;
content: '▼';
text-indent: 0;
pointer-events: none;
}

/*タグウィジェット*/
.tagcloud a {
font-size: 1.4rem !important;
line-height: 1;
position: relative;
display: inline-block;
margin-bottom: .85rem;
padding: 0.8rem 3rem .8rem 4rem;
text-decoration: none;
color: #fff;
background-color: #0066b3;
}
.tagcloud a::before {
font-family: "Font Awesome 5 Free","Font Awesome 5 Brands";
font-weight: 900;
position: absolute;
top: 50%;
left: 1rem;
content: "\f02b";
transform: translateY(-50%);
color: #fff;
}

/*メインメニューデザイン*/
.widget_nav_menu .sidebar-title {
font-size: 1.8rem;
box-sizing: border-box;
margin: 0;
padding: .85rem;
color: #2ca6d1;
text-align: center;
}
.widget_nav_menu ul {
padding: 0.85rem;
}
.widget_nav_menu li {
margin-bottom: .85rem;
display: block;
}
.widget_nav_menu li a {
padding: 1rem 3.2rem 1rem 1.5rem;
font-size: 1.4rem;
font-weight: bold;
color: #fff;
background: #2ca6d1;
border-radius: 10px;
position: relative;
display: block;
}
/*.widget_nav_menu li a::before {
font-family: "Font Awesome 5 Free";
font-weight: 900;
position: absolute;
top: 50%;
right: 2rem;
content: "\f105";
transform: translateY(-50%);
color: #fff;
}*/

.widget_nav_menu li a::before{
content: "";
display:inline-block;
width: 0;
height: 0;
border-top: solid 5px transparent;
border-right: solid 10px transparent;
border-bottom: solid 5px transparent;
border-left: solid 7px #fff;
position: absolute;
top: 50%;
right: 4%;
margin-top:-5px;
}
.widget_nav_menu li a:hover::before {
transform: translate(25%, 0);
transition: .3s;
}
.widget_nav_menu .children {
margin-bottom: .85rem;
padding: 0;
padding-left: 1.7rem;
background-color: #267d2b;
}
.widget_nav_menu .children li {
margin-bottom: 0;
}
.widget_nav_menu .children li a {
font-size: 1.5rem;
background-color: transparent;
}
.widget_nav_menu .children li a::before {
position: absolute;
top: 50%;
left: 1.5rem;
content: '∟';
transform: translateY(-50%);
color: #fff;
}

/* 導入事例メニュー */
#nav_menu-2.widget_nav_menu ul {
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
justify-content: space-between;
}
#nav_menu-2.widget_nav_menu li {
width: 48%;
}
#nav_menu-2.widget_nav_menu li a {
height: 100%;
padding: 1.5em .5em 1em;
text-align: center;
color: #2ca6d1;
line-height: 1.4;
background: #fff;
border: 2px solid #2ca6d1;
display: block;
}
#nav_menu-2.widget_nav_menu li a i {
margin-bottom: 5px;
display: block;
font-size: 2rem;
text-align: center;
}
#nav_menu-2.widget_nav_menu li a::before {
font-family: "";
display: none;
}
#nav_menu-2.widget_nav_menu li a:hover::before {
content: "";
display: none;
}

/*最近の投稿*/
.widget_recent_entries li {
padding-bottom: .6rem;
border-bottom: 1px solid #ddd;
}
.widget_recent_entries li a:before {
font-family:"Font Awesome 5 Free","Font Awesome 5 Brands";
font-weight: bold;
font-weight: 900;
position: absolute;
left: 5px;
content: '\f15b';
color: #000;
}
.widget_recent_entries li a {
display: block;
margin-bottom: .3rem;
padding-left: 2.6rem;
}
.widget_recent_entries li a:hover {
color: #2ca6d1;
opacity: 1;
}
.widget_recent_entries .post-date {
font-size: .8rem;
display: block;
}

/*カレンダーウィジェット*/
.calendar_wrap {
padding: 1rem;
border: 1px solid #ddd;
}
.calendar_wrap table {
width: 100%;
}
.calendar_wrap tbody {
text-align: center;
}
.calendar_wrap caption {
font-weight: bold;
margin-bottom: 1rem;
}
.calendar_wrap td {
padding: .3rem 0;
}
.calendar_wrap tfoot td {
padding-top: .7rem;
}
.calendar_wrap tfoot td:last-child {
text-align: right;
}


/*---------------------------------------------------------
記事一覧
---------------------------------------------------------*/
.archive-top {
padding: 2.5em 0;
text-align: center;
background-color: #f7f5f4;
}
.archive-top h1 {
margin-left: auto;
margin-right: auto;
padding: 0 4rem;
font-size: 3rem;
font-weight: bold;
text-align: center;
line-height: 1;
font-weight: bold;
color: #3f2710;
border-radius: 10px;
display: inline-block;
}
.archive-top p {
margin-left: auto;
margin-right: auto;
padding: 2rem 4rem;
font-size: 3rem;
font-weight: bold;
text-align: center;
line-height: 1;
font-weight: bold;
background-color: rgba(255, 255, 255, 0.5);
border-radius: 10px;
display: inline-block;
}
/*
.archive-top h1 {
font-size: 2.6rem;
margin-bottom: 1.5rem;
color: #267d2b;
}
.archive-top p {
font-size: 1.5rem;
line-height: 1.7;
margin-bottom: 1.5rem;
}*/
.archive-kuz {
margin-bottom: 2em;
}
.article-list {
margin-bottom: 1.5rem;
padding: 1rem;
}
.article-list a {
display: block;
text-decoration: none;
color: #000;
}
.article-list a:after {
display: block;
clear: both;
content: '';
}
.article-list .img-wrap {
position: relative;
float: left;
line-height: 1;
}
.article-list .img-wrap img {
width: 240px;
height: 160px;
object-fit: cover;
}
.article-list .img-wrap .cat-data {
font-size: 1.5rem;
position: absolute;
top: 0;
right: 0;
padding: .3rem .5rem;
color: #fff;
background-color: #2ca6d1;
}
.article-list .img-wrap .blogcat .cat-data {
background-color: #f00;
}
.article-list .text {
margin-left: 260px;
}
.article-list .text h2 {
font-size: 1.6rem;
margin-bottom: .5rem;
}
.article-list .text .article-date,
.article-list .text .article-author {
font-size: 1.2rem;
font-weight: bold;
display: inline-block;
margin-bottom: .5rem;
color: #888;
}
.article-list .text .article-date {
margin-right: .5rem;
}
.article-list .text .article-author i {
margin-right: .3rem;
}
.article-list .text p {
font-size: 1.4rem;
line-height: 1.7;
}
/* sp */ @media only screen and (max-width: 767px){
  .archive-top {
  padding: 2em 0;
  }
  .cat_title .cat-data a {
  font-size: 2.8rem;
  }
}


/*---------------------------------------------------------
ページネーション
---------------------------------------------------------*/
.pagination {
margin: 2rem 0;
text-align: center;
}
.pagination ul {
font-size: 0;
}
.pagination ul li {
font-size: 2.0rem;
display: inline-block;
margin-right: 1rem;
}
.pagination ul li:last-child {
border: 0;
}
.pagination ul li a,
.pagination .current {
display: block;
padding: .5rem 1.5rem;
border-radius: 5px;
border: 1px solid #2ca6d1;
}
.pagination ul li .prev,
.pagination ul li .next {
border: 0;
font-size: 3.0rem;
font-weight: bold;
padding: 0 1.5rem;
background: none;
}
.pagination ul li a {
text-decoration: none;
color: #2ca6d1;
background-color: #fff;
border: 1px solid #2ca6d1;
}
.pagination ul li a:hover {
opacity: .6;
}
.pagination .current {
color: #fff;
background-color: #2ca6d1;
}
/* sp */ @media only screen and (max-width: 767px){
  .pagination ul li {
  margin-right: 1rem;
  }
  .pagination ul li a,
  .pagination .current {
  padding: .5rem 1.2rem;
  }
}


/*---------------------------------------------------------
投稿・固定ページ
---------------------------------------------------------*/
.article-content {
margin-bottom: 2rem;
}
.article-content .article-info {
margin-bottom: 1.5rem;
}
.article-content .cat-data a {
font-size: 1.4rem;
margin-right: .5rem;
padding: .1rem .5rem;
text-decoration: none;
color: #fff;
background-color: #2ca6d1;
}
.cat_title .cat-data a {
width: 100%;
font-size: 3.4rem;
font-weight: bold;
margin-right: 0;
padding: .5em 2em;
text-align: center;
text-decoration: none;
color: #2ca6d1;
background-color: #d8f3ff;
pointer-events: none;
display: block;
}
.article-content .article-info .article-date,
.article-content .article-info .article-author {
font-size: 1.4rem;
display: inline-block;
margin-right: .5rem;
color: #888;
}
.article-content .article-info .article-author i {
margin-right: .3rem;
}
.article-content p,
.article-content b,
.article-content table,
.article-content ul,
.article-content ol {
font-size: 1.6rem;
line-height: 1.8;
}
.article-content p,
.article-content img,
.article-content table,
.article-content ul,
.article-content ol {
margin-bottom: 2rem;
}
.article-content h1 {
font-size: 2.8rem;
line-height: 1.4;
color: #3f2710;
}
.article-content h2 {
margin: 0 0 2rem;
font-size: 2.4rem;
line-height: 1.4;
padding: 10px 1rem;
border-left: 3px solid #d8d8d8;
}
.article-content h3 {
width: 100%;
margin-bottom: 1rem;
padding: 0.5em 0;
font-size: 2rem;
}
.article-content h4 {
font-size: 1.8rem;
margin: 2rem 0 1rem;
padding: 8px 1.5rem;
background-color: #f7f5f4;
}
.article-content h5 {
font-size: 1.8rem;
margin: 0 0 .3rem;
}
.article-content h6 {
font-size: 1.6rem;
}
.article-content .article-img {
margin-bottom: 2rem;
}
.article-content .article-img img {
display: block;
margin: 0 auto;
}
.article-content ul {
margin-left: 2rem;
list-style: disc;
}
.article-content ol {
margin-left: 2rem;
list-style: decimal;
}
.article-content .table {
border-collapse: collapse;
}
.article-content .table {
width: 100%;
border-bottom: 1px solid #ededed;
font-size: 1.3rem;
line-height: 2;
margin: 0 0 24px;
margin: 0 0 1.8rem;
}
.article-content th,
.article-content td {
padding: .6rem;
vertical-align: middle;
border: 1px solid #ddd;
}
.article-content figure {
max-width: 100%;
}
.article-tag {
text-align: right;
}
.article-tag ul {
font-size: 0;
margin-bottom: 0;
}
.article-tag ul li {
font-size: .9rem;
display: inline-block;
margin-right: .5rem;
vertical-align: middle;
}
.article-tag ul li:last-child {
margin-right: 0;
}
.article-tag ul li a {
padding: .2rem .5rem;
text-decoration: none;
color: #000;
border: 1px solid #000;
}
.article-tag ul li a:hover {
opacity: .6;
}
.nav-previous {float: left;}
.nav-next {float: right;}
.article-content p.case_postcat {
margin-bottom: 0;
padding: 0 1em;
display: inline-block;
font-size: 1.3rem;
color: #2ca6d1;
font-weight: bold;
border-radius: 5px;
background-color: #d8f3ff;
}

/* 投稿ページヘッド */
.single_head {
position: relative;
}
.single_head ul.post-categories {
list-style: none;
margin: 0;
}
.single_head ul.post-categories a {
margin-bottom: 0;
padding: 0 1em;
display: inline-block;
font-size: 1.3rem;
color: #fff;
font-weight: bold;
border-radius: 5px;
background-color: #2ca6d1;
text-decoration: none;
}
.single_head .single-time {
position: absolute;
right: 0;
top: 0;
}

/*---------------------------------------------------------
sub-TOPページ
---------------------------------------------------------*/
.home-top .article-top .img-wrap img {
  width: 600px;
  height: 400px;
}
.home-top .article-top .text {
  margin-left: 630px;
}
.home-top .article-top .new-post {
  font-weight: bold;
  display: block;
  margin-bottom: .5rem;
  color: #f00;
}
.home-top .article-top .text h2 {
  font-size: 1.6rem;
  margin-bottom: 1rem;
}
.home-top .article-top .text .article-date,
.home-top .article-top .text .cat-data {
  margin-bottom: 1rem;
}
@media(max-width: 1024px) {
  .home-top .article-top .img-wrap img {
    width: 420px;
    height: 280px;
  }
  .home-top .article-top .text {
    margin-left: 440px;
  }
}
@media(max-width: 800px) {
  .contents,
	.contents_full,
  .sidebar {
  float: none;
  width: 100%;
  margin-right: 0;
  }
  .contents {
  margin-bottom: 1.5rem;
  }
}
@media(max-width: 600px) {
  html {
    font-size: .65rem;
  }
	/*.header-inner,
	.container,
	.footer-inner {
		padding: .8rem;
	}*/
	.contents {
    margin-bottom: 1rem;
  }

  /*---------------------------------------------------------
  記事一覧
  ---------------------------------------------------------*/
  .archive-top h1 {
    max-width: 90%;
    line-height: 1.4;
    font-size: 2.4rem;
  }
  .archive-top p {
    font-size: 1.5rem;
    margin-bottom: 1rem;
  }*/
  .article-list {
    padding: .5rem;
  }
  .article-list .img-wrap img {
    width: 132px;
    height: 88px;
  }
  .article-list .img-wrap .cat-data {
    font-size: 1.3rem;
  }
  .article-list .text {
    margin-left: 140px;
    padding: 0;
  }
  .article-list .text h2 {
    font-size: 1.4rem;
    margin-bottom: 0;
  }
  .article-list .text p {
    display: none;
  }
  .article-list .text .article-date,
  .article-list .text .article-author {
    font-size: 1rem;
    margin-bottom: 0;
  }
  .article-list .text .article-date {
    margin-right: .2rem;
  }

	/*---------------------------------------------------------
  投稿・固定ページ
  ---------------------------------------------------------*/
  .article-content h1 {
    font-size: 2.0rem;
  }
  .article-content h2 {
    margin: 3rem 0 2rem;
    font-size: 2.0rem;
    line-height: 1.5;
  }
  .article-content h3 {
    font-size: 2.0rem;
  }
  .article-content h4 {
    font-size: 1.8rem;
  }
}


/*---------------------------------------------------------
固定ページ共通スタイル
---------------------------------------------------------*/
.page-title {
padding: 2.5em 0;
text-align: center;
/*background-image: url(./images/white_bg_top.png), url(./images/pagetitle-bg.jpg);*/
background-size: 100% auto;
background-position: left bottom, center;
background-repeat: no-repeat;
background-color: #f7f5f4;
}
.page-title h1 {
margin-left: auto;
margin-right: auto;
padding: 0 4rem;
font-size: 3.2rem;
line-height: 1;
font-weight: bold;
border-radius: 10px;
display: inline-block;
}
.page-title .cat-data {
margin-left: auto;
margin-right: auto;
padding: 2rem 4rem;
font-size: 3.5rem;
line-height: 1;
font-weight: bold;
background-color: rgba(255, 255, 255, 0.5);
border-radius: 10px;
display: inline-block;
}
.page-title .cat-data a {
color: #000;
text-decoration: none;
pointer-events: none;
}

/* sp */ @media only screen and (max-width: 767px){
  .page-title {
  padding: 1.5em 0;
  /*background-image: url(./images/white_bg_top.png), url(./images/pagetitle-bg_sp.jpg);*/
  background-size: 100% auto, cover;
  background-position: center bottom, center center;
  background-repeat: no-repeat;
  }
  .page-title h1 {
  width: 90%;
  font-size: 2.4rem;
  line-height: 1.4;
  }
  .page-title p {
  font-size: 2.4rem;
  line-height: 1.4;
  }
  .page-title .cat-data {
  width: 90%;
  font-size: 2.4rem;
  }
}

/*PC*/ @media only screen and (min-width: 768px){
  .page-title h1 span.sub_title_txt {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  }
}

/*sp*/ @media only screen and (max-width: 767px){
  .page-title h1 span.sub_title_txt {
  padding: 3em 5%;
  display: block;
  font-size: 1.7rem;
  }
}

/* --------------page_contentデザインテンプレート ------------------*/
#page_content .cont_title {
padding: 0 20px;
margin: 0;
border-left: 5px solid #2ca6d1;
}
.contents_full .bg_wh {
padding-bottom: 4rem;
}
.main_title {
margin: 0 0 2rem;
position: relative;
padding: 1rem 2rem 2rem 1rem;
font-size: 2.4rem;
line-height: 1.6;
}
.main_title:after {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 6px;
content: '';
border-radius: 3px;
background-image: -webkit-gradient(linear, right top, left top, from(#d8f3ff), to(#009efd));
background-image: -webkit-linear-gradient(right, #d8f3ff 0%, #009efd 100%);
background-image: linear-gradient(to left, #d8f3ff 0%, #009efd 100%);
}
/*.sub_title span {
position: relative;
padding-bottom: .3em;
text-align: center;
display: inline-block;
}
.sub_title span::before {
width: 60px;
height: 5px;
content: '';
border-radius: 3px;
background: #2ca6d1;
position: absolute;
bottom: -10px;
left: 50%;
transform: translateX(-50%);
}*/

/*sp*/ @media only screen and (max-width: 767px){
  .contents_full .bg_wh {
  padding-bottom: 2rem;
  }
}


/*---------------------------------------------------------
Index(front-page)-CSS トップページ
---------------------------------------------------------*/
/* ---------- トップ：スライダー ---------- */
.main_vis {
background: #add5ea url(./images/mv_bg.jpg) repeat-x left top;
position: relative;
z-index: 2;
}
.top_slider {
width: 100%;
margin: 0 auto;
border-radius: 15px;
display: block;
position: relative;
}
.top_slider .slick-dots {
margin-top: 20px;
position: relative;
}
.top_slider .slide-arrow {display: none!important;}
.top_slider .slick-dots li button::before {
color: #000;
}
.top_slider .slick-dots li.slick-active button::before {
color: #000;
}
.top_slider .slide-cont {
width: 470px;
position: absolute;
left: 8%;
top: 36%;
z-index: 999;
}
.top_slider .slide-cont-img {
width: 600px;
}
.slide-cont-inbox {
width: 350px;
margin-top: 36px;
padding: 1em 2em;
color: #fff;
background: linear-gradient(70deg, #da5c8b 0%,#ed828b 80%);
border-radius: 15px;
}
.top_slider .slide-cont .slide-title {
padding: 0;
-webkit-box-sizing: border-box;
box-sizing: border-box;
position: relative;
z-index: 2;
display: table;
}
.top_slider .slide-cont .slide-title .slide-txt01 {
color: #fff;
background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#fff)) no-repeat center right/72% 2px;
background: linear-gradient(#fff, #fff) no-repeat center right/72% 2px;
font-weight: 600;
font-size: 2.2rem;
}
.top_slider .slide-cont .slide-title .slide-txt02 span {
background-color: #fff;
display: table;
margin-top: 5px;
font-size: 3.5rem;
color: #0e71af;
font-weight: 700;
padding: 10px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
line-height: 1;
}
.top_slider .slide-cont .slide-title .slide-txt03 {
padding: 0 5px;
  color: #fff;
background: #0e71af;
font-weight: 600;
}
@media print, screen and (min-width: 768px){
  .top_slider .slick-list {
    width: 80%;
    margin-right: 0;
  }
  .slider01_txt01 {
  margin: 180px 0 0 620px;
  font-size: 4rem;
  }
  .slider01_txt02 {
  margin: 25px 0 0 620px;
  font-size: 4rem;
  line-height: 2.2;
  /* text-shadow:  2px  2px 5px #fff ,
                -2px  2px 5px #fff ,
                2px -2px 5px #fff ,
                -2px -2px 5px #fff; */
  }
  .top_slider li img {
  width: 100%;
  }
}

/* sp */ @media only screen and (max-width: 767px){
  .top_slider {
  width: 100%;
  padding: 0;
  }
  .top_slider .slick-slider {
  width: 100%;
  height: auto;
  margin: 0 auto;
  }
  .top_slider .slider-box {
  position: relative;
  }
  .top_slider .sliderbgSp{
  background-repeat: no-repeat !important;
  background-size: 100% auto!important;
  /* height: 0; */
  height: auto;
  margin: 0;
  /* padding-top: 4.7% !important;*/
  padding: 0;
  width: 100%;
  display: block;
  border-radius: 10px;
  position: relative;
  }
  .top_slider .slide-cont {
  width: 100%;
  padding-top: 33%;
  left: 0;
  top: auto;
  z-index: 99999;
  bottom: 75px;
  }
  .top_slider .slide-cont .slide-title .slide-txt01 {
  margin-left: 10px;
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#fff)) no-repeat center right 55%/15% 2px;
  background: linear-gradient(#fff, #fff) no-repeat center right 55%/15% 2px;
  text-shadow: -2px 2px 5px #000;
  }
  .top_slider .slide-cont .slide-title .slide-txt02 span {
  font-size: 6vw;
  }
  .top_slider .slide-cont .slide-title .slide-txt03 {
  font-size: 4vw;
  padding-left: 5%;
  }

  .slider01_txt01 {
  margin: 0;
  font-size: 2.4rem;
  position: absolute;
  bottom: 0;
  left: 0;
  }
  .slider01_txt02 {
  width: 90%;
  margin: 10px auto 30px;
  text-align: center;
  font-size: 2.2rem;
  }
}


/*---------------------------------------------------------
トップ：top_cont sec01
---------------------------------------------------------*/
section.top-info::before {
content: '';
background-color: #add5ea;
position: absolute;
top: 0;
left: 0;
width: calc(50% + 500px);
height: 220px;
}
section.top-info .top-info-title {
background: -webkit-gradient(linear, left top, left bottom, from(#2ca6d1), to(#2ca6d1)) no-repeat center bottom/100px 3px;
background: linear-gradient(#2ca6d1, #2ca6d1) no-repeat center bottom/100px 3px;
-webkit-box-sizing: border-box;
padding-top: 55px;
padding-bottom: 5px;
line-height: 1;
position: relative;
z-index: 2;
}
section.top-info .top-info-subtitle {
padding-bottom: 15px;
position: relative;
z-index: 2;
}
.top-info-cont {
background: url(./images/bg1.gif) repeat center top;
}
.infobox {
position: relative;
z-index: 2;
}
.info_inbox {
padding: 50px 100px 120px;
background-color: #fff;
}
.info-intitle {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: end;
-ms-flex-align: end;
align-items: flex-end;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
width: calc(50% - 20px);
position: relative;
z-index: 1;
}
.info-intitle::before {
content: '';
background: url(./images/s1_dch2.jpg) no-repeat center center/contain;
width: 53px;
height: 101px;
position: absolute;
top: -30px;
left: -75px;
}
.top-info .intitle .info-title-jp {
line-height: 1;
}
.top-info .intitle .f-qui {
margin-top: 0;
margin-left: 10px;
color: #d4cdc9;
font-weight: bold;
line-height: 1;
}
.news-btn a {
color: #0e71af;
position: relative;
z-index: 1;
border-radius: 999px;
font-weight: 700;
line-height: 1;
padding: 0 40px 10px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
-webkit-transition: .3s;
transition: .3s;
display: block;
text-decoration: none;
text-align: center;
}
.news-btn a::after {
content: '';
border-top: 4px solid transparent;
border-left: 6px solid currentColor;
border-bottom: 4px solid transparent;
position: absolute;
top: 28%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
right: 20px;
}
.info_box table {
width: 100%;
border-top: 1px dashed #d1c2bd;
}
.news-list th, .news-list td {
padding: 15px 10px 15px 0;
border-bottom: 1px dashed #d1c2bd;
}
.news-list th {
width: 7em;
}
.news-list th p {
font-weight: normal;
}
.news-list .news_cat {
width: 10em;
display: none;
}
.news-list .news_title a {
font-weight: normal;
color: #000;
text-decoration: none;
}
.news-list .news_title a:hover {
color: #0e71af;
text-decoration: underline;
}
.info_box .blue_btn a {
width: 245px;
height: 55px;
margin: 0 auto;
display: block;
}

/* sp */ @media only screen and (max-width: 767px){
  section.top-info::before {
  content: none;
  display: none;
  }
  .info_inbox {
  padding: 50px 3% 120px;
  background-color: #fff;
  }
  .info-intitle {
  display: inline-block;
  width: 100%;
  padding-bottom: 20px;
  }
  .intitle {
  padding-left: 85px;
  }
  .info-intitle::before {
  top: -30;
  left: 10px;
  }
  .info_box .blue_btn a {
  width: 70%;
  }
}


/*---------------------------------------------------------
トップ：sec02 新着情報
---------------------------------------------------------*/
.sec02 {
padding-bottom: 90px;
}
.top_info {
margin-top: 65px;
padding: 50px 50px 35px;
background-color: #fff;
border-radius: 15px;
position: relative;
}
.sec02_deco01 {
width: 83px;
height: auto;
position: absolute;
top: 75px;
left: -180px;
}
.sec02_deco02 {
width: 161px;
height: auto;
position: absolute;
top: 110px;
right: -220px;
}
.top_info h2 {
width: 174px;
height: auto;
margin: 0 auto;
background:url(./images/info_titlebg.gif) left bottom / 174px auto no-repeat;
display: block;
}
/* sp */ @media only screen and (max-width: 767px){
  .sec02 {
  padding-bottom: 30px;
  }
  .top_info {
  margin-top: 30px;
  padding: 1.5em 0 3em;
  }
  .info_box {
  width: 100%;
  padding: 2rem 0;
  }
  .top_info .top_infotitle{
  width: 30%;
  padding-left: 5%;
  }
  .top_info table {
  margin: 0 auto 30px;
  }
  .news-list th, .news-list td {
  padding: 1.5rem 1rem;
  display: block;
  }
  .news-list th {
  width: 7em;
  padding-right: 0;
  padding-bottom: 0;
  border-bottom: 0;
  display: inline-block;
  }
  .news-list .news_cat {
  width: auto;
  padding-left: 0;
  padding-bottom: 0;
  display: inline-block;
  border-bottom: 0;
  }
  .news-list .news_title {
  width: 100%;
  padding-top: 0;
  }
  .news-list .news_title a {
  font-size: 1.4rem;
  }
}


/* sec02 ABOUT ことばとこころの教室とは  */
.sec02 {
position: relative;
z-index: 3;
}
.sec02 .sec02_wrap {
background: url(./images/s2_bg.jpg);
padding: 55px 85px;
position: relative;
z-index: 1;
}
.sec02 .sec02_wrap::before {
content: '';
background: url(./images/s02_dc1.png) no-repeat center center/contain;
width: 435px;
height: 93px;
position: absolute;
top: -50px;
left: 50%;
right: 50%;
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
transform: translateX(-50%);
}
.sec02 .sec02_wrap::after {
content: '';
background: url(./images/s02_dc2.png) no-repeat center center/contain;
width: 160px;
height: 125px;
position: absolute;
top: 75px;
right: -60px;
}
.sec02 .sec02_title {
background-color: #fff;
display: table;
margin-left: auto;
margin-right: auto;
font-size: 3.4rem;
line-height: 1.4;
padding: 15px;
}
.sec02 .featlist {
margin-top: 60px;
margin-bottom: 60px;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
}
.sec02 .featlist .item {
width: calc((100% - 90px)/4);
text-decoration: none;
}
.sec02 .featlist .item dl dt {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
margin-top: -10px;
position: relative;
z-index: 1;
}
.sec02 .featlist .item dl dt .num {
font-size: 2.8rem;
}
.sec02 .featlist .item dl dt .feat_title {
background-color: #2ca6d1;
padding: 5px 12px;
margin-left: 5px;
border-radius: 5px;
}
.sec02 .featlist .item dl dd img {
position: relative;
top: -10px;
}
/* sp */ @media only screen and (max-width: 767px){
  .sec02 .sec02_wrap {
    padding: 55px 5%;
    }
    .sec02 .sec02_title {
    font-size: 2.8rem;
    line-height: 1.2;
    padding: 15px 5%;
    }
    .sec02 .sec02_wrap::before {
    width: 95%;
    }
    .sec02 .sec02_wrap::after {
    width: 28%;
    height: 130px;
    position: absolute;
    top: -23px;
    right: -8px;
    }
    .sec02 .featlist {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 3em;
    margin-bottom: 10px;
    }
    .sec02 .featlist .item {
    width: 47%;
    margin-bottom: 6%;
    }
    .sec02 .featlist .item dl dt .feat_title {
    font-size: 4vw;
    }
}

/*---------------------------------------------------------
トップ：sec03　ごあいさつ
---------------------------------------------------------*/
.sec03 {
padding-bottom: 90px;
position: relative;
z-index: 1;
background: url(./images/sec03_bg.png) no-repeat center top/cover;
background-color: #e2f4fa;
}
.sec03 .pt {
position: absolute;
top: 115px;
/*left: 100px;*/
left: 50%;
transform: translateX(-50%);
background: url(./images/s03_bg01.jpg) no-repeat left top/600px auto;
/*width: calc(50% + 360px);*/
width: 1000px;
height: 800px;
/*bottom: 120px;*/
z-index: -1;
}
.sec03 .inner {
width: 56%;
margin-left: auto;
padding-top: 75px;
}
.sec03 .inner .ttlh2 {
display: table;
margin-bottom: 20px;
position: relative;
z-index: 1;
}
.sec03 .inner .ttlh2::after {
content: '';
width: 90px;
height: 92px;
background: url(./images/sec03_dco1.png) no-repeat center center/contain;
position: absolute;
top: -15px;
right: -85px;
}
.sec03 .sec03_title {
margin-top: 5px;
padding: 15px;
line-height: 1;
font-size: 3.4rem;
letter-spacing: 0.1em;
background-color: #fff;
display: table;
}
.sec03 .inner .b_txt {
padding: 30px 40px;
border: 5px solid #F7F5F4;
border-radius: 10px;
background-color: #fff;
background: url(./images/s3_imgceo.jpg) no-repeat left 190px bottom 15px/120px auto #fff;
}
.bg-blue-block {
padding: .3em 0.5em;
background: linear-gradient(160deg, #F1F9FC 0%, #E5EBF3 50%, #E8F7F9 100%);
}

/* sp */ @media only screen and (max-width: 767px){
  .sec03 {
  width: 100%;
  }
  .sec03 .pt {
  position: absolute;
  top: 0;
  left: 0;
  transform: translateX(0);
  background: none;
  width: 100%;
  height: auto;
  }
  .sec03 .inner {
  width: 90%;
  margin-right: auto;
  padding-top: 75px;
  }
  .sec03 .sec03_title {
  font-size: 2.8rem;
  }
  .sec03 .inner .b_txt {
  padding: 30px 6%;
  background: #fff;
  }
  .sec03_ceoimg {
  width: 40%;
  display: inline-block;
  vertical-align: middle;
  }
  .sec03_ceotxt {
  width: 48%;
  display: inline-block;
  vertical-align: middle;
  }
}

/* にじいろ通信ブログスライダー */
.topblog_title {
width: 300px;
margin: 0 auto;
display: block;
}
.topblog_slider {
width: 100%;
/*padding-left,rightと画像幅の総量*/
margin: 30px auto;
padding-bottom: 35px;
max-width: 1000px;
/*background-color: black;*/
}
.topblog_slider .slick-dot {
position: relative;
bottom: 0;
}
.topblog_slider .top-case-img, .topblog_slider .wp-post-image {
width: 100%;
height: auto;
border-radius: 10px 10px 0 0;
}
.topblog_slider .slick-slider {overflow: visible;}
.topblog_slider .slick-list {
padding-bottom: 10px;
overflow: hidden;
}
.topblog_slider .slide-arrow {top: 35%;}
.topblog_slider .prev-arrow {left: -10px;}
.topblog_slider .next-arrow {right: -10px;}
.topblog_slider .multiple-item li {
margin: 0 18px;
position: relative;
}
.topblog_slider ul li a {
color: #000;
font-weight: bold;
font-size: 1.4rem;
background-color: #fff;
border-radius: 10px;
box-shadow: 0 1px 5px rgba(0,0,0,0.3);
display: block;
}
.topblog_slider ul li .top-column-time {
font-size: 13px;
color: #ccc;
position: absolute;
bottom: 5px;
left: 18px;
}
.topblog_slider .slick-dots {bottom: -30px;}

/* トップページにじいろ通信スライダー */
.top-column-title {
width: 100%;
padding: .2em 1em;
}
@media screen and (min-width: 600px) {
  .slider img.top-case-img {
  width: 300px;
  height: 218px;
  object-fit: cover;
  }
}
@media screen and (min-width: 900px) {
  .top-column-title {
  width: 300px;
  padding: 8px 15px 30px;
  }
}
@media screen and (max-width: 767px) {
  .topblog_title {
  width: 75%;
  }
  .topblog_slider {
  width: 80%;
  }
  .topblog_slider .slider img {
  width: 100%;
  height: auto;
  }
  .topblog_slider .slick-slide {
  padding: 30px 20px 15px;
  }
  .top-column-title {
  width: 100%;
  padding: .2em 1em 2.5em;
  }
  .topblog_slider .multiple-item li {
  margin: 0;
  }
  .topblog_slider ul li .top-column-time {
  bottom: 23px;
  left: 35px;
  }
}

/*---------------------------------------------------------
トップ：sec04　ご相談・サポート内容
---------------------------------------------------------*/
.sec04 {
margin: 0 auto;
padding: 80px 0 50px;
background-color: #f7f5f4;
}
.sec04 .inner .ttlh2 {
margin-bottom: 20px;
text-align: center;
position: relative;
z-index: 1;
}
.sec04 .sec04_title {
margin-top: 5px;
padding: 15px;
line-height: 1;
font-size: 3.4rem;
display: inline-block;
}
.sec04 .support-list li {
width: 100%;
min-height: 225px;
border: 10px solid #e8dcd6;
border-radius: 15px;
background-color: #fff;
margin-bottom: 2.5em;
position: relative;
}
.sec04 .support-list li .sup_img {
width: 300px;
height: auto;
background: url(./images/sup01.jpg) no-repeat center center/cover;
display: block;
}
.sec04 .support-list li:nth-child(2) .sup_img {
background-image: url(./images/sup02.jpg);
}
.sec04 .support-list li:nth-child(3) .sup_img {
background-image: url(./images/sup03.jpg);
}
.sec04 .support-list li:nth-child(4) .sup_img {
background-image: url(./images/sup04.jpg);
}
.sec04 .support-list li:nth-child(5) .sup_img {
background-image: url(./images/sup05.jpg);
}
.sec04 .support-list li:nth-child(6) .sup_img {
background-image: url(./images/sup06.jpg);
}
/*.sec04 .support-list li img {
width: 300px;
height: auto;
border-radius: 5px 0 0 5px;
position: absolute;
left: 0;
top: 0;
}*/
.sec04 .sup-textbox {
width: 650px;
padding: 25px 15px;
}
.sec04 .sup_maru {
height:50px;
width:50px;
margin-right: 1em;
color: #fff;
font-size: 2.6rem;
border-radius:50%;
line-height:50px;
text-align:center;
background-color: #0e71af;
display: inline-block;
vertical-align: middle;
}
.sec04 .sup_title {
width: 450px;
display: inline-block;
}
/* sp */ @media only screen and (max-width: 767px){
  .sec04 {
  padding: 2em 0 3em;
  }
  .sec04 .sec04_title {
  font-size: 2.8rem;
  }
  .sec04 .support-list li .sup_img {
  width: 100%;
  }
  .sec04 .sup-textbox {
  width: 100%;
  padding: 1.2em 5%;
  }
  .sec04 .sup_maru {
  margin-right: 10px;
  }
  .sec04 .sup_title {
  width: calc(100% - 75px);
  vertical-align: middle;
  line-height: 1.2;
  }
}


/*---------------------------------------------------------
トップ：sec05 相談・サポートの流れ
---------------------------------------------------------*/
.sec05 {
padding: 85px 0 75px;
background: url(./images/sec05_bg.png) no-repeat center center/cover;
background-color: #f0f5ff;
}
.sec05 .inner .ttlh2 {
margin-bottom: 20px;
text-align: center;
position: relative;
z-index: 1;
}
.sec05 .sec05_title {
margin-top: 5px;
padding: 15px;
line-height: 1;
font-size: 3.4rem;
display: inline-block;
}
.sec05 .step_txt .line_btn a {
width: 95%;
padding: 15px 26px;
display: block;
}

/* pc */ @media only screen and (min-width: 768px){
.sec05 .stepbar {
position: relative;
margin: 0;
padding: 0;
display: flex;
justify-content: space-between;
}
.sec05 .stepbar li {
width: 33.333333%;
position: relative;
}
.sec05 .stepbar li .step_box {
height: 250px;
margin: 20px 20px 0;
padding: 15px;
background: #fff;
border: 13px solid #d8e4f7;
position: relative;
}
.sec05 .step_num {
padding: 0 25px;
line-height: 1.4;
color: #fff;
font-weight: bold;
font-size: 2.0rem;
background-color: #0e71af;
position: absolute;
left: -25px;
top: -25px;
transform:rotate(-6deg);
}
.sec05 .step_num span {
font-size: 2.4rem;
}
.sec05 .stepbar li:before {
display: block;
width: 18px;
height: 18px;
margin: 0.5em auto;
content: "";
text-align: center;
border-radius: 50%;
background-color: #fff;
border: 3px solid #0e71af;
position: relative;
z-index: 2;
}
.sec05 .stepbar li:after {
position: absolute;
z-index: 1;
top: 1.2em;
left: -50%;
width: 100%;
height: 3px;
content: "";
background-color: #0e71af;
}
.sec05 .stepbar li:first-child:after {
content: none;
}
}

/*
@media screen and (max-width: 960px) {
  .stepbar li p {
    margin: 10px 15px;
    font-size: 12px;
  }
}*/

/* sp */ @media only screen and (max-width: 767px){
  .sec05 {
  padding: 2em 0 3em;
  }
  .sec05 .sec05_title {
  font-size: 2.8rem;
  }
  .stepbar {
  margin: 0 auto;
  width: 90%;
  }
  .stepbar li {
  margin: 2em 0;
  position: relative;
  }
  .sec05 .step_num {
  padding: 0 12px;
  line-height: 1.4;
  color: #fff;
  font-weight: bold;
  font-size: 2.0rem;
  background-color: #0e71af;
  position: absolute;
  left: -15px;
  top: -5px;
  transform:rotate(-6deg);
  z-index: 5;
  }
  .sec05 .step_num span {
  font-size: 2.4rem;
  }
  .stepbar li .step_title {
  padding-left: 85px;
  display: inline-flex;
  align-items: left;
  }
  .stepbar li .step_title .stepnum {
  padding-left: 1em;
  font-size: 0.8em;
  color: #333;
  }
  .stepbar li .step_txt {
  background: #fff;
  margin-left: 2em;
  padding: 15px;
  font-size: 1.4rem;
  }
  .stepbar li .stepline {
  width: 3px;
  height: calc(100% + 1em);
  background-color: #0e71af;
  position: absolute;
  top: 1em;
  left: 0.5em;
  z-index: 0;
  }
  .stepbar li:last-of-type .stepline:last-of-type {
  display: none;
  }
}


/*---------------------------------------------------------
トップ：sec06 料金
---------------------------------------------------------*/
.sec06 {
margin: 0 auto;
padding: 80px 0;
background: url(./images/sec06_bg.png) no-repeat center center/cover;
background-color: #f7f5f4;
}
.sec06 ul.link_block li {
border-top: none;
margin-right: 15px;
}
.sec06 .inner .ttlh2 {
margin-bottom: 20px;
text-align: center;
position: relative;
z-index: 1;
}
.sec06 .sec06_title {
margin-top: 5px;
padding: 15px;
line-height: 1;
font-size: 3.4rem;
display: inline-block;
}
.sec06 .pricebox {
width: 100%;
padding: 35px;
border-radius: 15px;
background-color: #e8dcd6;
}
.sec06 .pricebox li {
width: 47%;
border-radius: 10px;
background-color: #fff;
}
.sec06 .pricebox li.first_time {
margin: 20px auto 0;
}
.sec06 .pricebox li .price-time {
width: 30%;
padding: 18px 0 0 18px;
color: #fff;
font-size: 2.8rem;
font-weight: bold;
border-radius: 10px 0 0 10px;
background-color: #0e71af;
}
.sec06 .pricebox li.first_time .price-time {
width: 40%;
padding: 18px 0 0 7px;
}
.sec06 .pricebox li .price-txt {
width: 70%;
padding: 20px 0 20px 15px;
}
.sec06 .pricebox li.first_time .price-txt {
width: 60%;
}
/*.sec06 .pricebox li:nth-child(2) .price-txt {
padding: 36px 0 20px 55px;
}*/

/* sp */ @media only screen and (max-width: 767px){
  .sec06 {
  padding: 2em 0 3em;
  }
  .sec06 .sec06_title {
  font-size: 2.8rem;
  }
  .sec06 .pricebox {
  padding: 20px;
  }
  .sec06 .pricebox li {
  width: 100%;
  }
  .sec06 .pricebox li .price-time {
  width: 30%;
  padding: 6px 0 0 5%;
  font-size: 8vw;
  }
  .sec06 .pricebox li .price-txt {
  width: 70%;
  padding: 13px;
  line-height: 1.3;
  }
  .sec06 .pricebox li.first_time .price-time {
  width: 30%;
  padding: 3px 0 10px 12px;
  }
  .sec06 .pricebox li.first_time .price-txt {
  width: 70%;
  padding: 25px 12px 12px;
  }
  /*.sec06 .pricebox li:nth-child(2) .price-time {
  padding-top: 3%;
  }
  .sec06 .pricebox li:nth-child(2) .price-txt {
  padding: 13px;
  }*/
}


/*---------------------------------------------------------
トップ：sec07 よくあるご質問
---------------------------------------------------------*/
.sec07 {
padding: 85px 0 75px;
background-color: #fff;
}
.sec07 ul.link_block li {
border-top: none;
margin-right: 15px;
}
.sec07 .inner .ttlh2 {
margin-bottom: 20px;
text-align: center;
position: relative;
z-index: 1;
}
.sec07 .sec07_title {
margin-top: 5px;
padding: 15px;
line-height: 1;
font-size: 3.4rem;
display: inline-block;
}
.sec07 .faq_toggle_wrap {
width: 100%;
padding: 0 2em 1em;
background-color: #fff;
border-radius: 0 0 10px 10px;
}
.sec07 .toggle_contents {
background: #fff;
border-bottom: 10px solid #fff;
}
.sec07 .toggle_contents:last-child {
border-bottom: none;
}
.sec07 .toggle_title {
padding: 1em 3em 1em 2em;
font-size: 2rem;
font-weight: bold;
line-height: 1.4;
position: relative;
cursor: pointer;
background-color: #d8e4f7;
}
.sec07 .toggle_title:hover {
background-color: #bdceea;
transition: .3s;
}
.sec07 .toggle_title::before {
content: "Q";
margin-right: 15px;
font-size: 2.4rem;
font-weight: bold;
font-family: 'Quicksand', sans-serif;
color: #005bac;
}
.sec07 .toggle_btn {
position: absolute;
top: 50%;
right: 20px;
transform: translateY(-50%);
background: #005bac;
display: block;
width: 24px;
height: 24px;
text-indent: 100%;
white-space: nowrap;
overflow: hidden;
border-radius: 50%;
}
.sec07 .toggle_btn:before, .toggle_btn:after {
display: block;
content: '';
background-color: #fff;
position: absolute;
width: 10px;
height: 2px;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.sec07 .toggle_btn:before {
width: 2px;
height: 10px;
}
.sec07 .toggle_title.selected .toggle_btn:before {
content: normal;
}
.sec07 .toggle_contents dd {
padding: 1em 4em 2em;
display: none;
}
.sec07 .toggle_contents dd p::before {
content: "A";
margin-right: 15px;
font-size: 2.4rem;
font-weight: bold;
font-family: 'Quicksand', sans-serif;
color: #e44558;
}
/* sp */ @media only screen and (max-width: 767px){
  .sec07 {
  padding: 2em 0 3em;
  }
  .sec07 .sec07_title {
  font-size: 2.8rem;
  }
  .sec07 .faq_toggle_wrap {
  padding: 0 5% 1em;
  }
  .sec07 .toggle_title {
  padding: .5em 2em .8em 1em;
  font-size: 1.6rem;
  }
  .sec07 .toggle_btn {
  right: 10px;
  }
  .sec07 .toggle_contents dd {
  padding: 1em 5% 2em;
  background-color: #f7f5f4;
  }
}


/*---------------------------------------------------------
トップ：sec08 アクセス
---------------------------------------------------------*/
.sec08 {
margin: 0 auto;
padding: 80px 0;
background-color: #ebeff4;
}
.sec08 ul.link_block li {
border-top: none;
margin-right: 15px;
}
.sec08 .inner .ttlh2 {
margin-bottom: 20px;
text-align: center;
position: relative;
z-index: 1;
}
.sec08 .sec08_title {
margin-top: 5px;
padding: 15px;
line-height: 1;
font-size: 3.4rem;
display: inline-block;
}
.accsbox {
width:660px;
margin: 0 auto;
padding: 30px 75px;
background-color:#fff;
border: 3px solid #005bac;
border-radius: 15px;
}
/* sp */ @media only screen and (max-width: 767px){
  .sec08 {
  padding: 2em 0 3em;
  }
  .sec06 .sec08_title {
  font-size: 2.8rem;
  }
  .accsbox {
  width:95%;
  margin: 0 auto;
  padding: 2em 5%;
  }
  /*.sec06 .pricebox li:nth-child(2) .price-time {
  padding-top: 3%;
  }
  .sec06 .pricebox li:nth-child(2) .price-txt {
  padding: 13px;
  }*/
}


/*---------------------------------------------------------
左右コンテンツ用テンプレート
---------------------------------------------------------*/
.textonimg_right{
margin: -5px 20px -30px 5px;
position: relative;
display: inline-block;
}
.textonimg_right > a{
font-size: 200%;
display: block;
font-weight: bold;
padding: 0.25em 1em;
text-decoration: none;
color: #fff;
background: #34AAB4;
border-radius: 8px;
border-bottom: 5px solid #066;
}
.textonimg_right2{
margin: -10px 10px 0 -20px;
position: relative;
display: inline-block;
}
.textonimg_right2 > a {
font-size: 200%;
display: block;
font-weight: bold;
padding: 0.25em 1em;
text-decoration: none;
color: #fff;
background: #34AAB4;
border-radius: 8px;
border-bottom: 5px solid #066;
}
.textonimg_right3{
margin: 15px 20px 0 0;
position: relative;
display: inline-block;
}
.textonimg_right3 > a {
font-size: 200%;
display: block;
font-weight: bold;
padding: 0.25em 1em;
text-decoration: none;
color: #fff;
background: #34AAB4;
border-radius: 8px;
border-bottom: 5px solid #066;
}
.textonimg_right3 > a {
color:#fff;
text-decoration: none;
}

/* sp */ @media only screen and (max-width: 767px){
	#inquiry_form_area{
	width:95%;
	height:auto;
	margin-top: 0;
	padding:15px;
	}
	#form_inner{
	width:100%;
	padding:15px 5%;
	}
	#inquiry_ttl{
	margin:auto;
	width:100%;
	height:auto;
	}
	#contactus{
	width:100%;
	height:auto;
	margin:auto;
	padding-left:0;
	}
	.textonimg_right{
	margin: 15px auto;
	display: block;
	}
	.textonimg_right > a{
	width: 55%;
	margin: 0 auto;
	padding: 6px 0.25em;
	font-size: 2rem;
	text-align: center;
	display: block;
	}
	.textonimg_right2{
	margin: 15px auto;
	display: block;
	}
	.textonimg_right2 > a {
	width: 55%;
	margin: 0 auto;
	padding: 6px 0.25em;
	font-size: 2rem;
	text-align: center;
	display: block;
	}
	.textonimg_right3{
	margin: 15px auto;
	display: block;
	}
	.textonimg_right3 > a {
	width: 55%;
	margin: 0 auto;
	padding: 6px 0.25em;
	font-size: 2rem;
	text-align: center;
	display: block;
	}
	.textonimg_right3 > a {
	color:#fff;
	text-decoration: none;
	}
}

/* 固定ページ共通テンプレート */
.link_block {
width: 100%;
text-align: center;
}
.link_block li {
display: inline-block;
margin-right: 2em;
}
.link_block li:last-child {
margin-right: 0;
}
.link_block li a {
min-width: 300px;
display: block;
font-weight: bold;
padding: .6em 1em 1.3em;
border-radius: 50px;
text-decoration: none;
font-size: 15px;
border: 2px solid #2ca6d1;
position: relative;
}
.link_block li a::after {
content: "";
position: absolute;
width: 6px;
height: 6px;
border-bottom: 1px solid #2ca6d1;
border-right: 1px solid #2ca6d1;
transform: translateX(-50%) rotate(45deg);
left: 50%;
bottom: 12px;
transition: 0.3s;
}
.link_block li a:hover::after {
bottom: 8px;
}

/* sp */ @media only screen and (max-width: 767px){
  .link_block {
  padding: 2em 5%;
  }
  .link_block li {
  width: 47%;
  margin: 0 1% 0.8em;
  }
  .link_block li.full_btn {
  width: 95%;
  margin: 0 auto 0.8em;
  }
  .link_block li a {
  min-width: auto;
  }
}

/*---------------------------------------------------------
コースの特長ページ
---------------------------------------------------------*/
.feat_top {
padding: 0.5em 0 6em;
background-image: url(./images/white_bg_top.png), url(./images/features/features_headbg.jpg);
background-size: 100% auto, cover;
background-position: left bottom -2px, center;
background-repeat: no-repeat;
}
.feat_list ul {
padding: 0 30px;
}
.feat_list li {
padding-top: 50px;
position: relative;
}
.feat_list li h4 {
padding-left: 110px;
}
.feat_list li .feat_txt {
width: 500px;
padding: 30px 30px 50px;
border-radius: 15px;
background-color: rgba(255, 255, 255, 0.8);
position: relative;
z-index: 2;
}
.feat_list li .feat_no {
width: 127px;
height: auto;
position: absolute;
left: -20px;
top: -15px;
z-index: 1;
}
.feat_list li .feat_img {
width: 485px;
height: auto;
position: absolute;
right: 0;
top: 0;
}
.feat_list li .feat_img img {
border-radius: 15px;
}
.feat_list li:nth-child(2) .feat_txt {
margin-left: auto;
margin-right: 0;
}
.feat_list li:nth-child(2) .feat_img {
right: auto;
left: 0;
}
.feat_kub {
padding-top: 100px;
background-image: url(./images/blue_bg02.png), url(./images/pink_bg.jpg);
background-size: 802px auto, 150px auto;
background-position: left top, left top;
background-repeat: repeat-x, repeat;
}
.kub_box {
padding: 50px 100px;
border-radius: 15px;
}
.kublogo {
width: 100px;
margin: 0 auto;
}
.kubimp_title {
width: 380px;
margin: 0 auto;
padding: 20px 0 30px;
background: url(./images/sec03_titlebg.png) left top / 103px auto no-repeat;
}
.founder {
position: relative;
padding: 30px 30px 30px 280px;
border: 2px solid #ed828b;
border-radius: 15px;
}
.founder_name {
border-bottom: 1px dashed #ed828b;
}
.founder_img01 {
width: 187px;
position: absolute;
left: 45px;
top: 20px;
}

.sec01 {
margin-top: 90px;
position: relative;
}
.sec01_c02box {
width: 600px;
margin: 0 0 0 auto;
}
.sec01_img02 {
width: 330px;
height: auto;
position: absolute;
top: 110px;
left: 35px;
}
.prof-box {
padding-bottom: 2em;
background-image: url(./images/features/name-line.png),url(./images/features/name-line.png);
background-size: auto 7px;
background-position: left top 22px, left bottom;
background-repeat: repeat-x;
}
.name_txt {
padding: 5px 0 20px 60px;
background-image: url(./images/features/teacher-namebg.png);
background-size: 225px auto;
background-position: left top;
background-repeat: no-repeat;
}
.prof-masbox {
width: 720px;
margin-top: 40px;
margin-left: -120px;
padding: 40px 45px;
background-image: url(./images/features/mes-whbg.jpg);
background-size: 150px auto;
background-position: left top;
background-repeat: repeat;
border-radius: 15px;
position: relative;
z-index: 10;
}
.mass-title {
padding-left: 1em;
background-image: url(./images/features/mes-bg.png);
background-size: 324px auto;
background-position: left bottom;
background-repeat: no-repeat;
}
.prof_deco01 {
width: 127px;
height: auto;
position: absolute;
bottom: 115px;
left: -40px;
z-index: 20;
}
.sec01_deco02 {
width: 162px;
height: auto;
position: absolute;
top: -230px;
right: -200px;
}
/* sp */ @media only screen and (max-width: 767px){
  .feat_top {
  padding: 0.5em 0 3em;
  }
  .feat_list ul {
  padding: 0;
  }
  .feat_list li {
  padding-top: 0;
  }
  .feat_list li h4 {
  padding-left: 30%;
  }
  .feat_list li .feat_txt {
  width: 90%;
  margin-top: -2em;
  margin-left: 4%;
  padding: 1.5em 5%;
  }
  .feat_list li .feat_no {
  width: 30%;
  left: -3%;
  top: -1em;
  }
  .feat_list li .feat_img {
  width: 80%;
  margin: 0 0 0 auto;
  position: relative;
  right: auto;
  top: auto;
  }
  .feat_list li:nth-child(2) .feat_txt {
  margin-left: auto;
  }
  .feat_list li:nth-child(2) .feat_img {
  margin: 0 auto 0 0;
  left: auto;
  }
  .feat_kub {
  background-position: left -50px top, left -50px bottom;
  }
  .kub_box {
  padding: 2em 5%;
  }
  .kublogo {
  width: 30%;
  }
  .kubimp_title {
  width: 85%;
  }
  .founder {
  padding: 20px 5%;
  }
  .founder_name {
  width: 60%;
  display: inline-block;
  vertical-align: middle;
  }
  .founder_img01 {
  width: 37%;
  vertical-align: middle;
  position: relative;
  left: auto;
  top: auto;
  display: inline-block;
  }
  .sec01 {
  margin-top: 4rem;
  }
  .sec01_img02 {
  width: 65%;
  height: auto;
  margin: 1em auto;
  position: relative;
  top: auto;
  left: auto;
  display: block;
  }
  .sec01_c02box {
  width: 100%;
  }
  .prof-box {
  padding-bottom: 1.5em;
  }
  .prof-masbox {
  width: 100%;
  margin-left: auto;
  padding: 25px 8%;
  }
  .prof_deco01 {
  bottom: -25px;
  z-index: 0;
  }
  .sec01_deco02 {
  display: none;
  }
}


/*---------------------------------------------------------
よくあるご質問
---------------------------------------------------------*/
/* Acordeon styles */
.faq_list .tab {
position: relative;
margin-bottom: 2rem;
width: 100%;
color: #0066b3;/* アコーディオン タブ文字色 */
overflow: hidden;
-webkit-transition: max-height .5s;
-o-transition: max-height .5s;
transition: max-height .5s;
}
.faq_list input {
position: absolute;
opacity: 0;
z-index: -1;
}
.faq_list label {
position: relative;
display: block;
padding: 1em 0 0 1em;
background: #fff;/* アコーディオン タブ背景色 */
color: #000;
font-size: 1.8rem;
font-weight: bold;
line-height: 3;
border-radius: 15px 15px 0 0;
cursor: pointer;
}
.faq_list label::before {
width: 1.5em;
height: 1.5em;
margin-right: 1em;
line-height: 1.5;
content: "Q";
font-size: 3.2rem;
font-family: 'Kosugi Maru', sans-serif;
text-align: center;
transform: rotate(0.03deg);
color: #fff;
border-radius: 50%;
background-color: #2ca6d1;
display: inline-block;
vertical-align: middle;
}
.faq_list .tab-content {
padding-bottom: 15px;
max-height: 0;
overflow: hidden;
background: #fff;/* タブ内背景色 */
border-radius: 0 0 15px 15px;
-webkit-transition: all .5s;
-o-transition: all .5s;
transition: all .5s;
}
.faq_list .tab-content .cont-box {
width: 900px;
margin: 15px auto 30px;
padding: 20px;
background-color: #fff;
border-radius: 15px;
}
.faq_list .tab-content .cont-box::before {
width: 1.5em;
height: 1.5em;
margin-right: 0.8em;
line-height: 1.5;
content: "A";
font-size: 3.2rem;
font-family: 'Kosugi Maru', sans-serif;
text-align: center;
transform: rotate(0.03deg);
color: #fff;
border-radius: 50%;
background-color: #ed828b;
display: inline-block;
float: left;
}
.faq_list .blue .tab-content {
background-color: #2ca6d1;
}
.faq_list .tab-content p {
margin: 1em;
color: #000;/* タブ内文字色 */
padding-left: 60px;
}
/* :checked */
.faq_list input:checked ~ .tab-content {
max-height: 100em;
background-color: #2ca6d1;
-webkit-transition: all .5s;
-o-transition: all .5s;
transition: all .5s;
}
.faq_list input:checked ~ label {
color: #fff;
border-radius: 15px 15px 0 0;
background-color: #2ca6d1;
-webkit-transition: all .5s;
-o-transition: all .5s;
transition: all .5s;
}
.faq_list input:checked ~ label::before {
color: #2ca6d1;
background-color: #fff;
}
/* Icon */
.faq_list label::after {
position: absolute;
right: 0;
top: 8px;
display: block;
width: 3em;
height: 3em;
line-height: 3;
text-align: center;
-webkit-transition: all .5s;
-o-transition: all .5s;
transition: all .5s;
}
.faq_list input[type=checkbox] + label::after {
content: "+";
font-size: 25px;
color: #2ca6d1;
}
.faq_list input[type=radio] + label::after {
content: "\25BC";
}
.faq_list input[type=checkbox]:checked + label::after {
transform: rotate(45deg);
color: #fff;
}
.faq_list input[type=radio]:checked + label::after {
transform: rotateX(180deg);
}

/* sp */ @media only screen and (max-width: 767px){
  .faq_list label {
  padding-right: 3em;
  padding-left: 3.2em;
  font-size: 1.6rem;
  line-height: 1.4;
  position: relative;
  }
  .faq_list label::before {
  margin-right: .5em;
  font-size: 2.4rem;
  position: absolute;
  top: 50%;
  left: 10px;
  transform: translateY(-32%);
  }
  .faq_list .tab-content .cont-box {
  width: 90%;
  margin: 15px auto 5px;
  }
  .faq_list .tab-content .cont-box::before {
  margin-right: .5em;
  font-size: 2.4rem;
  }
  .faq_list label::after {
  width: 2em;
  height: 2em;
  line-height: 2.3;
  top: 0;
  }
  .faq_list .tab-content p {
  padding-left: 0;
  }
}



/*---------------------------------------------------------
お問い合わせフォーム共通
---------------------------------------------------------*/
.contact_tell {
width: 500px;
margin-left: auto;
margin-right: auto;
padding: 2em;
border-radius: 10px;
text-align: center;
background: #fff2f7;
}
.contact_tell .concall_num img {
width: 60px;
margin-right: 15px;
display: inline-block;
vertical-align: middle;
}
.contact_tell .concall_num a {
width: 300px;
font-size: 4.3rem;
text-decoration: none;
vertical-align: middle;
display: inline-block;
}
.contact-form {
border-radius: 10px;
padding: 2em;
}
.contact-table th{
width: 32%;
font-size: 1.6rem;
padding: 2.3rem 0 2.3rem 5.5rem;
vertical-align: top;
border-bottom: 1px dotted #6c5b19;
}
.contact-table td{
width: 70%;
padding: 2.3rem 1rem 2.3rem 5%;
vertical-align: top;
border-bottom: 1px dotted #6c5b19;
}
.contact-table tr:last-child th, .contact-table tr:last-child td {border-bottom: none;}
.contact-table th.must{
position: relative;
}
.contact-table th.must:before{
content: "必須";
width: 2.8em;
font-size: 1.3rem;
text-align: center;
background: #ed828b;
color: #fff;
font-weight: bold;
display: inline-block;
border-radius: 5px;
position: absolute;
top: 26px;
left: 1rem;
}
.contact-table th.any{
position: relative;
}
.contact-table th.any:before{
content: "任意";
width: 2.8em;
font-size: 1.3rem;
text-align: center;
background: #cff0fe;
color: #2ca6d1;
font-weight: bold;
display: inline-block;
border-radius: 5px;
position: absolute;
top: 26px;
left: 1rem;
}
.contact-table td input,
.contact-table td textarea,
.contact-table td select
{
width: 100%;
padding: 6px 12px;
line-height: 1.42857143;
font-size: 1.6rem;
color: #555;
background-color: #fff;
background-image: none;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
display: block;
}
.contact-table input:focus {
box-shadow: 0 0 4px #2ca6d1;
border: 1px solid #2ca6d1;
}
.contact-table td.select-service select {
width: auto;
}
.contact-table td.ininp input {
width: auto;
display: inline-block;
}
.contact-table td.selectbox span {
margin-bottom: 1rem;
margin-right: 1rem;
}
/*--各入力フォームサイズ--*/
.contact-table .wid-min {width: 10em; display: inline-block;}
.contact-table .wid-mid {width: 15em; display: inline-block;}
.contact-table .wid-lag {width: 20em; display: inline-block;}
.contact-table td.selectbox span.your-grade {margin-right: 0;}
.contact-table td.selectbox span.your-grade > span {margin-right: 0;}
.contact-table .your-grade .wpcf7-radio span:nth-child(4) {display: block; margin-right:0;}
.contact-table td.ininp input[name="c-age"] {width: 5em; display: inline-block;}
.contact-table td.ininp input[name="c-month"] {width: 5em; display: inline-block;}
.contact-table input[name="your-address"] {display: inline-block;}
.contact-table textarea[name="your-message"] {height: 16rem!important;}
.contact-btn input{width: 240px; cursor: pointer;}
.contact-table td.ininp input[name="agree"] span {margin-bottom: 0;}
/* エラー表示 */
.wpcf7 form.invalid div.wpcf7-response-output {
margin: 1.5rem 0 0;
padding: 1rem;
text-align: center;
color: #fff;
font-weight: bold;
border: 0;
background-color: red;
}
/* ----問合せリンクボタン ----*/
input.btn-green {
display: inline-block;
padding: .8em 1em;
text-decoration: none;
color: #fff;
background-color: #ed828b;
border-radius: 5px;
}
input.btn-greenaaaaaaaa:active {
-webkit-transform: translateY(2px);
transform: translateY(2px);
box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.2);
border-bottom: none;
}

/* sp */ @media only screen and (max-width: 767px){
  .contact_tell {
  width: 100%;
  padding: 1em;
  }
  .contact_tell .concall_num {
  width: 95%;
  }
  .contact_tell .concall_num img {
  width: 18%;
  margin-right: 3%;
  }
  .contact_tell .concall_num a {
  width: 75%;
  font-size: 3.2rem;
  }
  .contact-form {
  padding: 1em;
  }
  .form{
  width: 90%;
  margin: 0 auto;
  }
  .contact-table th{
  width: 100%;
  display: block;
  padding: 2rem 0 10px 0;
  border: none;
  }
  .contact-table td{
  width: 100%;
  display: block;
  padding: 0 0 2rem 0;
  }
  .contact-table th.must{
  padding-left: 4.5rem;
  }
  .contact-table th.must:before{
  position: absolute;
  top: 2.1rem;
  left: 0px;
  }
  .contact-table th.any{
  padding-left: 4.5rem;
  }
  .contact-table th.any:before{
  position: absolute;
  top: 2.1rem;
  left: 0px;
  }
  .form-control{
  height: auto !important;
  }
  .inp input{
  height: 25px;
  line-height: 25px;
  width: 100%;
  padding: 5px;
  box-sizing: border-box;
  }
  .inp02 input{
  height: 25px;
  line-height: 25px;
  width: 100%;
  padding: 5px;
  box-sizing: border-box;
  }
  .contact-table .wid-min {width: 100%; display: inline-block;}
  .contact-table .wid-mid {width: 100%; display: inline-block;}
  .contact-table .wid-lag {width: 100%; display: inline-block;}
  .contact-table input[name="your-address"] {width:100%; display: inline-block;}
  .contact-table textarea[name="your-message"] {height: 100%!important;}
  .contact-table td.ininp input[name="c-age"] {margin-left: 2em;}
  .inpT textarea{
  height: 8em;
  width: 100%;
  padding: 5px;
  box-sizing: border-box;
  }
	.contact-btn{
	width: 80%;
	margin: 30px auto 0;
	}
	.contact-btn input{
	padding: 0.5em 0;
	font-size: 17px;
	display: block;
	width: 100%;
	}
}