@charset "utf-8";
body{
    line-height: 1.5rem;
    text-size-adjust: 100%;
 　　-webkit-text-size-adjust: 100%;/*Chrome,Safari*/
 　　-ms-text-size-adjust: 100%;/*EgdeMobile*/
 　　-moz-text-size-adjust: 100%;/*firefox*/
	font-family: "Noto Sans JP", sans-serif!important;
}
img{
	max-width: 100%;
    height: auto;
}
a {
	/* text-decoration: none!important; */
	color: black;
}
ul {
    list-style: none;
    padding: 0;
}

/*/////////////動き///////////////////////////////////////*/
/*========= ページ全体のフェードイン===============*/
body {
    opacity: 0;
    transition: opacity 0.25s ease;
}

/* 読み込み完了後に表示 */
body.page-loaded {
    opacity: 1;
}

/*========= 下からフェードインで出てくる===============*/
.fadein {
  opacity: 0;
  transform: translate(0, 50px);
  transition: all 1650ms;
}
.fadein.scrollin {
  opacity: 1;
  transform: translate(0, 0);
}
/*========= 上からフェードイン===============*/
.fadein-top {
  opacity: 0;
  transform: translate(0, -100px);
  transition: all 1650ms;
}

.fadein-top.scrollin-top {
  opacity: 1;
  transform: translate(0, 0);
}
.img-scrollin-top {
  transform: scale(0.5); /* 初期状態は0.5倍の大きさ */
  opacity: 0; /* 初期状態は非表示 */
  transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out; /* アニメーションを設定 */
}
.img-scrollin-top.smallbig-img-scrollin-top {
  transform: scale(1); /* スクロール時に等倍の大きさに拡大 */
  opacity: 1; /* スクロール時に表示 */
}
/*========= 流れる動き ===========================================================================*/
/*全共通*/
.slide-in {
  overflow: hidden;
    display: inline-block;
}
.slide-in_inner {
  display: inline-block;

}
/*========= テキストの動き流れるように１文字ずつ出現（左から右） ===============*/
.leftAnime{
    opacity: 0;/*事前に透過0にして消しておく*/
}
.slideAnimeLeftRight {
  animation-name:slideTextX100;
  animation-duration:1.8s;
  animation-fill-mode:forwards;
    opacity: 0;
}
@keyframes slideTextX100 {
  from {
  transform: translateX(-100%); /*要素を左の枠外に移動*/
        opacity: 0;
}

  to {
  transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
}
}
.slideAnimeRightLeft {
  animation-name:slideTextX-100;
  animation-duration:1.8s;
  animation-fill-mode:forwards;
    opacity: 0;
}
@keyframes slideTextX-100 {
  from {
  transform: translateX(100%);/*要素を右の枠外に移動*/
    opacity: 0;
  }

  to {
  transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
}
}
/*中央構えの際に追加*/
.center-slide-in-leftAnime {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
/*========= 左から右のスライドアニメーション ===============*/
.leftAnime-slide {
	opacity: 0; 
	transform: translateX(-100%); /* 初期状態では左に移動させる */
	transition: opacity 1.3s ease-in-out, transform 1.3s ease-in-out;
}
.slideAnimeLeftRight-slide {
	transform: translateX(0); /* 右に移動させる */
	opacity: 1; 
}
/*=========右から左のスライドアニメーション ===============*/
.rightAnime-slide {
	opacity: 0; 
	transform: translateX(-100%); /* 初期状態では右に移動させる */
	transition: opacity 1.3s ease-in-out, transform 1.3s ease-in-out;
}
.slideAnimeRightLeft-slide {
	transform: translateX(0); /* 左に移動させる */
	opacity: 1; 
}
header a,
footer a {
    text-decoration: none;
}
/*/////////////Gナビ/////////////*/
div#nav-wrapper {
    position: fixed;
    width: 100%;
    z-index: 5;
    top: 0;
    box-shadow: 2px 4px 9.9px rgba(0, 0, 0, 0.1);
}
@media (max-width: 767px) {
div#nav-wrapper {
    box-shadow: none;
}
}
/*gナビの帯*/
.header-inner {
    position: relative;
    left: 0;
    width: 100%;
    height: 100px;
    background-color: #fff;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
}
@media (max-width: 991px){
.header-inner {
    height: 70px;
}
}
@media (max-width: 767px){
.header-inner {
    height: 60px;
    background-color: transparent;
}
}
/*ロゴ*/
.header-logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 100%;
    pointer-events: auto;
    margin-right: 40px;
}
@media (max-width: 1440px){
.header-logo {
    width: 250px;
	padding-left: 20px;
}
}
@media (max-width: 1199px){
.header-logo {
	padding-left: 20px;
	margin-right: 0px;
}
}
@media (max-width: 767px){
.header-logo {
	padding-left: 21px;
	width: 268px;
}
}
@media (max-width: 320px){
.header-logo {
	padding-left: 12px;
	width: 235px;
}
}
/*左側ナビ*/
.header-nav {
    display: flex;
    opacity: 1;
    padding-left: 50px;
}
@media (max-width: 1730px){
.header-nav {
    padding-left: 20px;
}
}
@media (max-width: 1420px){
.header-nav {
    padding-left: 0px;
}
}
.header-nav > ul,.header-nav-left > ul{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.header-nav > ul,.header-nav-right > ul{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	margin: 20px 0rem 0rem;
}
@media (max-width: 991px){
.header-nav > ul,.header-nav-right > ul{
    margin: 9px 0rem 0rem;
}
}
@media (max-width: 1337px){
ul.header-nav-left {
    display: none;
}
}
@media (max-width: 1199px){
ul.header-nav-left{
	display: none;
}
}
@media (max-width: 1199px){
a.header-nav-right-none {
	display: none;
}
}
nav.header-nav-right {
    padding-right: 110px;
}
@media (max-width: 1730px){
nav.header-nav-right {
    padding-right: 75px;
}
}
ul.header-nav-right li{
    padding-top: 23px;
	margin-right: 25px;
	color: #5C5C5C;
}
@media (max-width: 1565px){
ul.header-nav-right li{
    margin-right: 15px;
}
}
li.mebius {
    margin: -7px 0px 0px 25px;
}
@media (max-width: 1565px){
li.mebius {
    margin: -7px 0px 0px 5px;
}
}
@media (max-width: 767px){
a.mebius-icon-none {
	display: none;
}
}
/*電話*/
.header-inner-upper-row {
    display: flex;
    justify-content: center;
    align-items: center;
}
/*Tel*/
.header-upper-text {
    font-size: 13px;
    font-weight: 500;
}
@media (max-width: 1850px){
.header-upper-text {
	display: none;
}
}
.header-upper-telicon {
	display: none;
}
@media (max-width: 1850px){
.header-upper-telicon {
	display: block;
	margin-right: 10px;
}
}
.header-upper-text span{
    font-weight: 500;
    font-size: 13px;
	color: #0090F9;
}
.header-pc-phone{
	border-radius: 50px;
    background: #1C6ECE;
    padding: 10px;
    color: #fff;
}
.header-upper-tel span{
    font-weight: 600;
    font-size: 35px;
 	font-family: "Poppins", sans-serif;
	color: #0090F9;
}
.header-upper-tel {
    margin: 0px 40px 0px 15px;
    display: flex;
    align-items: center;
}
@media (max-width: 1730px){
.header-upper-tel {
    margin: 0px 45px 0px 15px;
}
}
@media (max-width: 1420px){
.header-upper-tel {
	margin: 0px 20px 0px 15px;
}
}
@media (max-width: 767px){
.header-upper-tel {
	display: none;
}
}
/*会員ログイン 資料請求 スライドボタン*/
#g-nav-user,#g-nav-documen-requestr{
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	border-radius: 50px;
}
#g-nav-user-grop,#g-nav-documen-requestr-grop{
	position: relative;
	overflow: hidden;
	cursor: pointer;
	text-align: center;
    border-radius: 54px;
	padding: 12px 26px;
}
#g-nav-user_icon,#g-nav-documen-requestr_icon{
  width: 100%;
  height: 100%;
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .35s ease-Out;
  padding: 0;
  bottom: 0;
  left: -310px;
}
#g-nav-user-grop:hover #g-nav-user_icon,#g-nav-documen-requestr-grop:hover #g-nav-documen-requestr_icon{
  left: 0;
}
#g-nav-user-grop:hover .button_inner,#g-nav-documen-requestr-grop:hover .button_inner{
    left: 290px;
}
#g-nav-user-grop .button_inner,#g-nav-documen-requestr-grop .button_inner{
	position: relative;
	left: 0;
	transition: all .35s ease-Out;
	color: #fff;
    font-size: 14px;
    font-weight: 500;
}
@media screen and (max-width:1199px) {
#g-nav-user-grop a,#g-nav-documen-requestr-grop a{
  font-size: 16px;
}
}
/*会員ログイン*/
#g-nav-user.g-nav-user{
	border: solid 1px #000;
	background: #000;
}
#g-nav-user:hover{
  border: solid 1px #000;
}
#g-nav-user_icon.g-nav-user_icon{
  background: #000;
  color: #fff;
}
a.g-nav-user-margin {
    margin-right: 20px;
}
/*資料請求*/
#g-nav-documen-requestr.g-nav-documen-requestr{
	border: solid 1px #00BCF8;
	background: #00BCF8;
}
#g-nav-documen-requestr:hover{
  border: solid 1px #00BCF8;
}
#g-nav-documen-requestr_icon.g-nav-documen-requestr_icon{
  background: #00BCF8;
  color: #fff;
}
/*ナビメニュー　文字*/
.header.header-item {
    margin-right: 25px;
    font-weight: 500;
}
@media (max-width: 1366px){
.header.header-item {
    font-size: 13px;
}
}
li.header.header-item.accordion-header1,li.header.header-item.accordion-header2,li.header.header-item.accordion-header3,li.header.header-item.accordion-header4 {
    display: inline-block;
    position: relative;
}
@media (max-width: 1510px){
ul.accordion-header_box.accordion-header_box-company {
    left: -13vw;
}
}
@media (max-width: 1670px){
li.header.header-item.header-item-none {
     display: none; 
}
}
ul.accordion-header_box {
    opacity: 0;
    position: absolute;
    list-style: none;
    visibility: hidden;
    top: 100%;
    left: 0;
    margin: 0;
    padding: 0;
    z-index: 9999;
    display: flex;
    text-align: center;
    flex-direction: column;
    color: #fff;
}
li.header.header-item.accordion-header--item:hover ul.accordion-header_box{
    opacity: 1;
    position: absolute;
    visibility: visible;
    background: rgb(0, 174, 248);
    padding: 30px 40px;
	border-radius: 5px;
    display: flex;
    justify-content: center;
}
.header-product-menu a{
    color: #fff;
}
.header-product-menu a:hover{
	color: #d6e8f5!important;
}
p.accordion-header-product-title,
p.accordion-header-product-title a {
    font-size: 18px;
    text-align: left;
    color: #fff;
}
p.accordion-header-product-title span{
    border-bottom: solid 1px #fff;
}
.accordion-header-product-title-item{
	color: #005DA0;
	font-size: 12px;
}
/*企業情報 パートナー*/
.accordion-header-company-menu,.accordion-header-partner-menu{
    display: flex;
    gap: 30px;
    text-align: left;
     font-size: 14px;
}
a.header-partner-menu.accordion-header-company-title-item-t:hover{
	color: #d6e8f5!important;
}
p.accordion-header-company-title-item-t {
    color: #fff;
    margin: 5px 0px 0px 5px;
}
p.accordion-header-company-title-item-t:hover{
	color: #d6e8f5!important;
}
li.header.header-item.accordion-header1:hover ul.accordion-header_box{
    width: 680px!important;
}
li.header.header-item.accordion-header2:hover ul.accordion-header_box{
    width: 1020px!important;
}
li.header.header-item.accordion-header3:hover ul.accordion-header_box{
    width: 390px !important;
	justify-content: center;
    text-align: left;
    line-height: 2em;
}
li.header.header-item.accordion-header4:hover ul.accordion-header_box{
    width: 250px!important;
    margin-top: 16%;
}
li.header.header-item.accordion-header1 li,li.header.header-item.accordion-header2 li,li.header.header-item.accordion-header3 li,li.header.header-item.accordion-header4 li{
    padding: 0px 17px;
}
li.header.header-item.accordion-header1 li a,li.header.header-item.accordion-header2 li a,li.header.header-item.accordion-header3 li a,li.header.header-item.accordion-header4 li a{
    color: #fff;
    font-weight: 500;
    letter-spacing: 0.05em;
}
li.header.header-item.accordion-header1 li a:hover,li.header.header-item.accordion-header2 li a:hover,li.header.header-item.accordion-header3 li a:hover,li.header.header-item.accordion-header4 li a:hover{
    transition: all 0.3s ease 0s;
    color: #d6e8f5;
}
p.accordion-header_box_title {
    margin-bottom: 0rem;
}
.accordion-header-product-menu {
    display: flex;
    justify-content: space-between;
	text-align: left;
}
p.accordion-header-product-title-item-t {
    font-size: 14px;
}
/*ナビメニュー　文字リンク*/
.header-link {
    position: relative;
    color: #313233;
    display: block;
	padding-top: 22px;
	-webkit-transition: color 0.5s ease-out;
    transition: color 0.5s ease-out;
    height: 80px;
	font-size: 14px;
    text-decoration: none;
}
a.header-link:hover {
    color: #0090F9;
    transition: color 0.5s ease-out;
}
li.hamburger-item {
    margin-right: 50px!important;
}
li.hamburger-item::marker{
   display: none!important;
	color: transparent;
}
.facebook-color-svg{
	transition: all 0.3s ease 0s;
	fill: #BABABA;
}
.facebook-color-svg:hover{
	fill: #1877F2;
}
.youtube-color-svg{
	transition: all 0.3s ease 0s;
	fill: #BABABA;
}
.youtube-color-svg:hover{
	fill: #FF0000;
}
.instagram-color-svg{
	transition: all 0.3s ease 0s;
	fill: #BABABA;
}
.instagram-color-svg:hover{
	fill: #FF0000;
}
.x-color-svg{
	fill: #BABABA;
}
.x-color-svg:hover{
	fill: #000;
}
@media (max-width: 1439px){
.facebook-color-svg,.youtube-color-svg,.instagram-color-svg,.x-color-svg{
	display: none;
}
}
/* 
hamburger(ハンバーガーアイコン)
=================================== */
.hamburger {
  position: absolute;
  right: 50px;
  top: 30px;
  width: 35px;
  height: 40px;
  cursor: pointer;
  z-index: 300;
    transform: rotate(-13deg);
}
@media (max-width: 1730px){
.hamburger {
    right: 20px;
}
}
@media (max-width: 1565px){
.hamburger {
    right: 10px;
}
}
@media (max-width:991px){
.hamburger {
    top: 15px;
}
}
@media (max-width: 767px){
.hamburger {
	top: 17px;
	right: 25px;
}
}
.hamburger__line {
  position: absolute;
  width: 36px;
  height: 1px;
  right: 0;
  background-color: #000;
  transition: all 0.5s;
}
.hamburger__line--1 {
	top: 3px;
}
.hamburger__line--2 {
    top: 19.5px;
    left: -5px;
}
@media (max-width: 767px){
.hamburger__line--2 {
  top: 13px;
}
}
.hamburger__line--3 {
	top: 36px;
    left: -8px;
}
@media (max-width: 767px){
.hamburger__line--3 {
  top: 23px;
}
}
/*ハンバーガーがクリックされたら*/
.open .hamburger__line--3 {
    transform: rotate(70deg);
    top: 13px;
    left: -2px;
}
/* 
sp-nav(ナビ)
=================================== */
.sp-nav {
  position: fixed;
  right: -100%; 
	/*ハンバーガーがクリックされる前はWindow右側に隠す*/
  top: 0;
  width: 100%; /* 出てくるスライドメニューの幅 */
  height: 100vh;
  background-color: #fff;
  background-color: rgba(255,255,255,0.9);
  transition: all 0.5s;
  z-index: 200;
  overflow-y: auto; /* メニューが多くなったらスクロールできるように */
}

.sp-nav ul li {
    line-height: 1.5;
}
/*ハンバーガーがクリックされたら右からスライド*/
.open .sp-nav {
  right: 0;
}
.sp-nav-grop {
    display: flex;
    padding: 8% 8% 0%;
    justify-content: space-between;
	font-weight: 600;
}
@media (max-width: 1730px){
.sp-nav-grop {
    padding: 3.5vw 8% 0%;
}
}
@media (max-width: 767px){
.sp-nav-grop {
    flex-direction: column;
    padding: 0%;
    justify-content:center;
}
}
.sp-nav-grop-contents {
    width: 47%;
}
@media (max-width: 767px){
.sp-nav-grop-contents {
    width: 100%;
    display: flex;
    flex-direction: column-reverse;
}
}
@media (max-width: 1199px){
.sp-nav-grop-contents.sp-nav-grop-contents1 {
    display: none;
}
}
.sp-nav-grop-contents.sp-nav-grop-contents2 {
    margin-left: 5%;
}
@media (max-width: 1199px){
.sp-nav-grop-contents.sp-nav-grop-contents2 {
    margin-left: 0%;
}
}
@media (max-width: 767px){
.sp-nav-grop-contents.sp-nav-grop-contents2,.sp-nav-grop-contents.sp-nav-grop-contents3,.sp-nav-grop-contents.sp-nav-grop-contents4 {
    display: none;
}
}
/* 
black-bg(ハンバーガーメニュー解除用bg)
=================================== */
.black-bg {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 5;
  background-color: rgba(255,255,255,0.5);
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s;
  cursor: pointer;
  z-index: 100;
}
@media (max-width: 767px){
.black-bg {
  background-color: rgba(255,255,255,1);
}
}
/*ハンバーガーメニューが開いたら表示*/
.open .black-bg {
  opacity: 0.9;
  visibility: visible;
}
/*ハンバーガーメニュー左側----------------------------*/
/*資料請求 採用情報 両方共通*/
.sp-nav-square {
    display: flex;
    justify-content: center;
    align-items: center;
	width: 320px;
	height: 270px;
	font-size: 14px;
}
@media (max-width: 1730px){
.sp-nav-square {
    width: 270px;
    height: 220px;
}
}
@media (max-width: 1320px){
.sp-nav-recruit-white{
    width: 270px;
    height: 220px;
}
}
/*資料請求---------------*/ 
/*外側*/
.sp-nav-square.sp-nav-guldebook-form{
    background: linear-gradient(206deg, #00AEF8 -3.37%, #B6FFA4 118.57%);
}
.sp-nav-guldebook-form-white{
	display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: #fff;
    width: 310px;
    height: 260px;
}
/*文字をグラデから白 上*/
.sp-nav-guldebook-form-white:hover{
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
/*グラデ文字から白 下*/
.sp-nav-guldebook-form span.gulde-j {
    color: #00AEF8; 
    font-weight: 400;
}
.sp-nav-guldebook-form span.gulde-j:hover{
    color: transparent;
    background: linear-gradient(221deg, #fff -37.21%, #fff 196.34%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
@media (max-width: 1730px){
.sp-nav-guldebook-form-white{
    width: 260px;
    height: 210px;
}
}
.sp-nav-guldebook-form-white{
 	color: #00AEF8;
    font-weight: 400;
}
.sp-nav-recruit-white{
 	color: #000;
}
/*採用情報---------------*/
/*外側*/
.sp-nav-square.sp-nav-recruit {
background: linear-gradient(206deg, #FF6D13 -3.37%, #F9E95C 118.57%);
    margin-top: 35px;
}
.sp-nav-recruit-white{
	display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: #fff;
    width: 310px;
    height: 260px;
}
@media (max-width: 1730px){
.sp-nav-recruit-white{
    width: 260px;
    height: 210px;
}
}
/*文字をグラデから白 上*/
.sp-nav-recruit-white:hover{
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.sp-nav-square.sp-nav-recruit span{
    color: #FF6D13; 
    font-weight: 400;
}
.sp-nav-guldebook-form span.gulde-j:hover{
    color: transparent;
    background: linear-gradient(221deg, #fff -37.21%, #fff 196.34%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.sp-nav-guldebook-form span:nth-of-type(2),.sp-nav-recruit span:nth-of-type(2){
	font-size: 25px;
}
@media (max-width: 1320px){
.sp-nav-guldebook-form-white,.sp-nav-recruit-white{
    width: 260px;
    height: 210px;
}
}
/*会員ログイン*/
#sp-nav-user-tablet{
	display:none;
}
#sp-nav-user{
	width: 215px;
	display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    border-radius: 36px;
    border: 1.5px solid #2A90DE;
    margin-top: 40px;
}
@media (max-width: 1199px){
#sp-nav-user-tablet{
	width: 215px;
	display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    border-radius: 36px;
    border: 1.5px solid #2A90DE;
    margin-top: 40px;
}
}
#sp-nav-user-grop,#sp-nav-user-grop-tablet{
	position: relative;
	overflow: hidden;
	cursor: pointer;
	text-align: center;
    border-radius: 54px;
	padding: 12px 26px;
}
#sp-nav-user_icon,#sp-nav-user_icon-tablet{
  width: 100%;
  height: 100%;
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .35s ease-Out;
  padding: 0;
  bottom: 0;
  left: -310px;
}
#sp-nav-user-grop:hover #sp-nav-user_icon,#sp-nav-user-grop-tablet:hover #sp-nav-user_icon-tablet{
  left: 0;
}
#sp-nav-user-grop:hover .button_inner,#sp-nav-user-grop-tablet:hover .button_inner{
    left: 290px;
}
#sp-nav-user-grop .button_inner,#sp-nav-user-grop-tablet .button_inner{
	position: relative;
	left: 0;
	transition: all .35s ease-Out;
	color: #0090F9;
	font-size: 14px;
    font-weight: 500;
}
@media screen and (max-width:1199px) {
#g-nav-user-grop a,#g-nav-documen-requestr-grop a{
  font-size: 16px;
}
}
.copyright.copyright-sp {
    color: #0092D0;
    font-size: 11px;
    margin-top: 30px;
}
/*ハンバーガーメニュー左側から２番目----------------------------*/
p.sp-navmenu-subtitle {
    font-size: 18px;
    margin-bottom: 20px;
}
p.sp-navmenu-subtitle a {
    color: #000;
}
p.sp-navmenu-subtitle a:hover{
	transition: all 0.3s ease 0s;
	color: #0090F9;;
}
ul.sp-nav_left {
	font-size: 14px;
    font-weight: 400;
    margin-left: 20px;
}
@media (max-width: 991px){
ul.sp-nav_left {
	font-size: 13px;
}
}
@media (max-width: 991px){
ul.sp-nav_left {
    margin-left: 0px;
}
}
@media (max-width: 767px){
ul.sp-nav_left {
	border-top: solid 1px transparent;
    display: block;
    margin: auto;
    text-align: center;
}
}
ul.sp-nav_left a li{
    margin-bottom: 13px;
	color: #000;
}
ul.sp-nav_left a li:hover{
	transition: all 0.3s ease 0s;
	color: #0090F9;;
}
ul.sp-nav_alone {
    margin-top: 105px;
    font-size: 18px;
    font-weight: 400;
}
@media (max-width: 1730px){
ul.sp-nav_alone {
    margin-top: 60px;
}
}
@media (max-width: 991px){
ul.sp-nav_alone {
    font-size: 16px;
}
}
ul.sp-nav_alone a li{
	color: #000;
}
ul.sp-nav_alone li{
    margin-bottom: 32px;
}
ul.sp-nav_alone li:hover{
	transition: all 0.3s ease 0s;
	color: #0090F9;;
}
/*ハンバーガーメニュー左側から3番目----------------------------*/
p.sp-navmenu-smalltitle {
    color: #B6B6B6;
    font-size: 12px;
    margin-left: 20px;
}
.sp-nav-grop-contents.sp-nav-grop-contents3 p.sp-navmenu-smalltitle:nth-of-type(3),.sp-nav-grop-contents.sp-nav-grop-contents3 p.sp-navmenu-smalltitle:nth-of-type(4){
	margin-top: 31.5px;
}
p.sp-navmenu-subtitle.sp-navmenu-subtitle-gray {
    color: #797979;
}
/*ハンバーガーメニュー左側から4番目----------------------------*/
.sp-nav-teltext-item {
    margin-top: 78.5px;
    font-size: 20px;
}
@media screen and (max-width:1320px) {
.sp-nav-teltext-item {
	font-size: 18px;
}
}
@media screen and (max-width:991px) {
.sp-nav-teltext-item {
	font-size: 16px;
}
}
.sp-nav-teltext-item span{
    color: #0090F9;
	font-size: 13px;
}
.sp-nav-tel-item {
    font-weight: 600;
    color: #0090F9;
    font-family: "Poppins", sans-serif;
    font-size: 35px;
}
@media screen and (max-width:1320px) {
.sp-nav-tel-item {
	font-size: 30px;
}
}
@media screen and (max-width:991px) {
.sp-nav-tel-item {
	font-size: 28px;
}
}
img.sp-nav-logo {
    margin: 60px 0px 35px;
}
ul.sp-nav_left.sp-nav_left-gary {
    margin-left: 0px;
}
@media screen and (max-width:767px) {
ul.sp-nav_left.sp-nav_left-gary {
    text-align: center;
    margin: 20px 0px;
	font-size: 14px;
}
}
ul.sp-nav_left.sp-nav_left-gary li{
    color: #818181;
}
ul.sp-nav_left.sp-nav_left-gary li:hover{
	transition: all 0.3s ease 0s;
	color: #0090F9;;
}
/*ハンバーガーメニューSP*/
.section.faq-bg {
    background: #E9F5FF;
    padding: 15px 0px 130px;
}
@media (max-width:991px){
.section.faq-bg {
    padding: 15px 0px 60px;
}
}
@media (max-width:767px){
.section.faq-bg {
	padding: 15px 0px 30px;
}
}
.faq-contents {
    margin-top: 65px;
}
@media (max-width:767px){
.faq-contents {
	margin-top: 32px;
	text-align: center;
	font-size: 14px;
}
}
.accordion-item{
  width: 100%;
  margin: 0 auto;
    margin-bottom: 20px;
}
.accordion-header{
  transition: ease-in-out 100ms;
}
@media (max-width:767px){
.accordion-wrap-only:nth-of-type(1) {
	border-top: 1px solid #B6B6B6;
}
.accordion-wrap-only {
    padding: 20px 0px;
	border-top: 1px solid #B6B6B6;
	color: #000;
}
}
@media (max-width:767px){
.accordion-wrap {
    background: #FFF;
    padding: 20px 0px 0px;
    cursor: pointer;
    position: relative;
	border-top: 1px solid #B6B6B6;
}
.accordion-wrap:nth-of-type(3) {
	border-bottom: 1px solid #B6B6B6;
}
}
.accordion-wrap-menu {
    display: inline-block;
    width: 85%;
}
.accordion-wrap-icon {
    position: absolute;
    right: 25px;
    top: 20px;
}
@media (max-width:767px){
.accordion-wrap-icon {
	right: 13px;
}
}
@media (max-width:767px){
.accordion-text{
    display: none;
	background: #F0F0F0;
    margin-top: 20px;
	border-top: 1px solid #B6B6B6;
 }
.accordion-text ul{
    margin-bottom: 0rem;
 }
 }
.fa{
  transition: ease-in-out 300ms;
 }
.rotate-fa{
  transform: rotate(180deg);
 }
@media (max-width:767px){
.accordion-header .fa{
    line-height: 3px;
}
}
.accordion-gray{
  color: #848687;
 }
.accordion-no-bar{
  border-bottom: 0;
}
@media (max-width:767px){
p.qa_a.font_Noto-bold {
    font-size: 13px;
}
}
/*アコーディオンメニュー*/
.accordion-sp-heading {
    list-style-type: none !important;
    padding-left: 1em!important;
    text-indent: -1em!important;
    margin-bottom: 0rem;
}
@media (max-width:991px){
.accordion-sp-heading {
	font-size: 20px;
    padding-left: 0em!important;
    text-indent: 0em!important;
}
}
@media (max-width:767px){
.accordion-sp-heading {
    font-size: 14px;
}
}
@media (max-width:767px){
.accordion-sp-heading {
    line-height: 1rem;
}
}
@media (max-width:767px){
p.q-text {
	font-size: 13px;
	border-bottom: 1px solid #B6B6B6;
	padding: 20px 0px;
	color: #000;
    list-style-type: none !important;
    line-height: 1.5em;
    margin-bottom: 0rem;
    font-size: 14px;
}
}
/*A 文字のテキスト*/
span.qa_a {
	font-size: 15px;
    line-height: 1.5rem;
}
@media (max-width:991px){
span.qa_a {
	font-size: 13px;
    line-height: 1.3rem;
}
}
/*スマホ表示*/
.sp-nav-grop-phone {
    display: none;
}
@media (max-width:767px){
.sp-nav-grop-phone {
    display: block;
    padding-top: 60px;
    padding-bottom: 100px;
}
}
.sp-nav-menu {
    text-align: center;
    font-size: 17px;
    font-weight: 400;
}
.sp-nav-menu span{
    color: #0090F9;
    font-weight: 500;
    font-size: 14px;
}
.sp-nav-tel-grop {
    display: flex;
    justify-content: center;
    align-items: center;
}
.sp-nav-menu-tel-item span{
    font-weight: 600;
	margin-left: 8px;
    color: #000;
    font-size: 30px;
    font-family: "Poppins", sans-serif;
}
.sp-nav-grop-phone-bottom-grop {
    width: 98%;
    margin: auto;
}
/*グラデボタン*/
.sp-nav-grop-phone-bottom {
    display: flex;
    justify-content: space-around;
    margin-top: 20px;
    text-align: center;
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 0.05em;
}
.sp-nav-grop-phone-bottom a{
    width: 49%;
	color: #fff;
}
.sp-nav-grop-phone-bottom a:hover{
	color: #000;
    transition: all 0.3s ease 0s;
}
/*グラデボタン＞資料請求　ブルー*/
.spnav-phone-buttan.spnav-blue-gradation {
    border-radius: 100px;
    background: linear-gradient(206deg, #00AEF8 -3.37%, #B6FFA4 118.57%);
	padding: 13px;
    width: 100%;
}
/*グラデボタン＞採用情報オレンジ*/
.spnav-phone-buttan.spnav-orange-gradation {
	border-radius: 100px;
	background: linear-gradient(206deg, #FF6D13 -3.37%, #F9E95C 118.57%);
    padding: 13px;
    width: 100%;
}
/*ブルー枠＞会員ログイン*/
.spnav-phone-buttan.spnav--blue-waku {
    border-radius: 36px;
    border: 1.5px solid #2A90DE;
    text-align: center;
    padding: 13px;
    width: 98%;
    margin: auto;
    margin-top: 15px;
}
.spnav-phone-buttan.spnav--blue-waku:hover{
    transition: all 0.3s ease 0s;
    background-color: #a9c4e1;
}
.copyright.spnav-phone-copyright {
    padding-bottom: 80px;
    font-size: 11px;
    color: #0092D0;
    font-weight: 500;
    text-align: center;
}
/*メイン*/
/*小さいい方のグラデーション線*/
.main-gradation-small{
    position: absolute;
    z-index: 2;
    mix-blend-mode: multiply;
    top: 14vw;
}
@media screen and (max-width:1199px) {
.main-gradation-small{
    top: 13vw;
    height: 16vw;
}
}
@media screen and (max-width:1024px) {
.main-gradation-small{
	left: -5%;
	top: 17vw;
	height: 148px;
}
}
@media screen and (max-width:991px) {
.main-gradation-small{
	left: -7%;
	top: 13%;
	height: 117px;
}
}
@media screen and (max-width:767px) {
.main-gradation-small{
	top: 123vw;
	width: 40%;
	height: 49vw;
	left: 0%;
}
}
/*大きい方のグラデーション線*/
svg.main-gradation-big {
    position: absolute;
    z-index: 3;
    left: 9vw;
	mix-blend-mode: multiply;
    margin-top: 5%;
    height: 30vw;
}
@media screen and (max-width:1680px) {
svg.main-gradation-big {
    left: 5%;
}
}
@media screen and (max-width:1440px) {
svg.main-gradation-big {
    left: -1vw;
    height: 30vw;
    margin-top: 4vw;
}
}
@media screen and (max-width:1199px) {
svg.main-gradation-big {
	left: -10vw;
	height: 27vw;
}
}
@media screen and (max-width:1024px) {
svg.main-gradation-big {
    left: -18%;
}
}
@media screen and (max-width:991px) {
svg.main-gradation-big {
        left: -39vw;
        height: 35vw;
}
}
@media screen and (max-width:767px) {
svg.main-gradation-big {
    position: relative;
	margin-top: 0%;
	width: 89%;
	right: 30%;
	height: auto;
}
}
/*右側のグラデーション線*/
.main-gradation-right{
    position: absolute;
    z-index: 2;
    mix-blend-mode: multiply;
    right: 0%;
    top: 29vw;
    width: 26vw;
}
@media screen and (max-width:1760px) {
.main-gradation-right{
	top: 44%;
	width: 26%;
}
}
@media screen and (max-width:1690px) {
.main-gradation-right{
    top: 36%;
}
}
@media screen and (max-width:1440px) {
.main-gradation-right{
    top: 27vw;
    width: 22%;
}
}
@media screen and (max-width:1064px) {
.main-gradation-right{
	top: 29vw;
	width: 26%;
}
}
@media screen and (max-width:991px) {
.main-gradation-right{
	top: 17vw;
	width: 19%;
}
}
@media screen and (max-width:767px) {
.main-gradation-right{
	display: none;
}
}
.main-gradation-right-sp{
	display: none;
}
@media screen and (max-width:767px) {
.main-gradation-right-sp{
	display: block;
	position: absolute;
    z-index: 2;
    mix-blend-mode: multiply;
	right: 0vw;
	top: 124vw;
}
}
@media screen and (max-width:430px) {
.main-gradation-right-sp{
	top: 118vw;
}
}
/*メイン画像*/
img.main-img {
    position: relative;
    z-index: 2;
    width: 70%;
	right: 0;
    left: 30%;
    margin-top: 5%;
}
@media screen and (max-width:767px) {
img.main-img {
	display: none;
}
}
.main-img-sp{
	display: none;
}
@media screen and (max-width:767px) {
.main-img-sp{
	display: block;
    width: 100%;
    margin-top: -40%;
}
}
/*メイン画像下のグレー斜め線*/
img.main-img-square-1 {
    position: relative;
	width: 100vw;
    margin-top: -19vw;
	right: 0;
}
@media screen and (max-width:1199px) {
img.main-img-square-1 {
	margin-top: -80px;
}
}
@media screen and (max-width:1064px) {
img.main-img-square-1 {
	margin-top: -5vw;
	width: 100vw;
	left: 0vw;
}
}
@media screen and (max-width:991px) {
img.main-img-square-1 {
	margin-top: -5px;
}
}
.main-contents-text {
    position: absolute;
    z-index: 4;
    left: 5%;
    top: 26vw;
}
@media screen and (max-width:991px) {
.main-contents-text {
	bottom: 70%;
	left: 4%;
}
}
@media screen and (max-width:767px) {
img.main-img-square-1,.main-contents-text {
	display: none;
}
}
/*メインタイトル*/
p.main-contents-title {
    font-size: 2.5vw;
    font-weight: 700;
}
/*メイン下サブタイトル*/
p.main-contents-subtext {
    margin-top: 47px;
}
@media screen and (max-width:1199px) {
p.main-contents-subtext {
    font-size: 14px;
}
}
@media screen and (max-width:1024px) {
p.main-contents-subtext {
    font-size: 13px;
    margin-top: 30px;
}
}
@media screen and (max-width:991px) {
p.main-contents-subtext {
    font-size: 12px;
}
}
/*当社の特徴*/
.title-gradation-box {
    margin-left: 12%;
}
/*画像*/
.our-features-grop-imgbox {
    position: relative;
	/* z-index: 1; */
	z-index: 3;
}
/*当社の特徴-----------------------------------------------------*/
.title-gradation-box {
    margin-left: 12%;
    margin-top: -37%;
}
@media screen and (max-width:1064px) {
.title-gradation-box {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    margin-left: 0%;
	position: relative;
	margin-top: -43vw;
    z-index: 3;
}
}
@media screen and (max-width:991px) {
.title-gradation-box {
	margin-top: -50vw;
}
}
@media screen and (max-width:767px) {
.title-gradation-box {
        margin-top: 9vw;
}
}
.our-features-grop-textbox{
    position: absolute;
    z-index: 2;
    width: 31.07vw;
	left: 49%;
    margin-top: -19%;
}
@media screen and (max-width:1760px) {
.our-features-grop-textbox{
    margin-top: -23%;
}
}
@media screen and (max-width:1600px) {
.our-features-grop-textbox{
	margin-top: -25%;
	left: 53%;
}
}
@media screen and (max-width:1440px) {
.our-features-grop-textbox{
	left: 48%;
	width: 47vw;
}
}
@media screen and (max-width:1260px) {
.our-features-grop-textbox{
	margin-top: -25%;
	left: 48%;
	width: 43vw;
}
}
@media screen and (max-width:1064px) {
.our-features-grop-textbox{
	font-size: 15px;
	margin-top: -27%;
}
}
@media screen and (max-width:991px) {
.our-features-grop-textbox{
	position: unset;
	width: 90%;
	margin: auto;
	margin-bottom: 50px;
}
}
@media screen and (max-width:767px) {
.our-features-grop-textbox{
    width: 95%;
	padding-top: 10px;
	margin: auto;
}
}
.title-gradation{
    font-family: "Nixie One", system-ui;
    font-weight: 400;
	font-size: 60px;
	background: linear-gradient(93deg, #5BFF00 -31.25%, #4356FF 113.28%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
@media screen and (max-width:1199px) {
.title-gradation{
	font-size: 45px;
}
}
@media screen and (max-width:991px) {
.title-gradation{
	font-size: 40px;
}
}
@media screen and (max-width:767px) {
.title-gradation{
	font-size: 50px;
}
}
@media screen and (max-width:360px) {
.title-gradation{
	font-size: 45px;
}
}
.h3-title{
	font-weight: 500;
	font-size: 22px;
}
@media screen and (max-width:1199px) {
.h3-title{
	font-size: 18px;
}
}
@media screen and (max-width:767px) {
.h3-title{
	text-align: center;
}
}
.our-features-img{
    width: 51%;
	margin-top: 25px;
}
@media screen and (max-width:1440px) {
.our-features-img{
	width: 47%;
}
}
@media screen and (max-width:1024px) {
.our-features-img{
	width: 45%;
}
}
@media screen and (max-width:991px) {
.our-features-img{
	display: none;
}
}
p.our-features-text {
    font-weight: 400;
    line-height: 2em;
}
svg.our-features-gradation-img {
    position: absolute;
    z-index: 2;
    mix-blend-mode: multiply;
    right: 34%;
    margin-top: 4%;
}
@media screen and (max-width:1760px) {
svg.our-features-gradation-img {
    margin-top: 2%;
    height: 190px;
}
}
@media screen and (max-width:1600px) {
svg.our-features-gradation-img {
	margin-top: -2%;
	right: 30%;
}
}
@media screen and (max-width:1199px) {
svg.our-features-gradation-img {
	margin-top: -2%;
	right: 28%;
	height: 150px;
}
}
@media screen and (max-width:991px) {
svg.our-features-gradation-img {
	margin-top: -8%;
	right: 22%;
	height: 123px;
}
}
@media screen and (max-width:767px) {
svg.our-features-gradation-img {
	display: none;
}
}
/*もっと詳しく ボタンPC*/
.c-button a {
    /* width: 200px; */
    width: 280px;
    /* margin: 0 auto; */
    margin-top: 37px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    /* padding: 10px 10px 10px 40px; */
    padding: 10px 10px 10px 20px;
    font-weight: 600;
    text-align: center;
    color: #000;
    border-radius: 52px;
    position: relative;
    overflow: hidden;
    z-index: 1;
	font-size: 14px;
    display: grid;
	transition: all 0.3s linear;
    text-decoration: none;
}
/* @media screen and (max-width:1600px) {
.c-button a {
    width: 35%;
}
} */
.c-button.c-button-center-4 a {
    width: 200px;
    margin: 0 auto;
	/* top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%); */
}
.c-button.c-button-center-6 a {
	/* width: 250px; */
    margin: 0 auto;
	/* top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%); */
}
/* @media screen and (max-width: 1300px) {
.c-button a {
    margin-top: 20px;
}
} */
/* @media screen and (max-width: 1199px) {
.c-button a {
    margin-top: 25px;
}
} */
/* @media screen and (max-width: 991px) {
.c-button a {
    width: 30%;
}
} */
/* @media screen and (max-width: 767px) {
.c-button a {
    display: grid;
	margin: auto;
    text-align: left;
    font-size: 14px;
    width: 225px;
    height: 50px;
    padding-left: 27px;
}
} */
.c-button a::before, .c-button a::after {
  content: "";
  display: block;
  width: 40px;
  aspect-ratio: 1;
  border-radius: 50%;
  position: absolute;
  top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
/* @media screen and (max-width: 1300px) {
 .c-button a::before, .c-button a::after {
    width: 30px;
}
} */
/* @media screen and (max-width: 1199px) {
 .c-button a::before, .c-button a::after {
    width: 40px;
}
} */
.c-button a::before {
    background: #000;
    left: min(min(var(--vw, 1vw), var(--svh, 1vh))* 40 / 768* 100, 20px);
    width: min(min(var(--vw, 1vw), var(--svh, 1vh))* 8 / 768* 100, 5px);
    height: min(min(var(--vw, 1vw), var(--svh, 1vh))* 8 / 768* 100, 5px);
    border-radius: 50%;
    z-index: 0;
}
.c-button a:hover::before {
    background: #fff;
}
.c-button a::after {
	border-radius: 60px;
	border: 1px solid #2CAEEB;
	width: 40px;
    height: 40px;
	-webkit-transform: translate(0%, -60%);
	transform: translate(0%, -60%);
	z-index: -1;
	-webkit-transition: all 0.3s linear;
	transition: all 0.3s linear;
    margin-top: 4px;
}
.c-button a.c-font-outfit {
	letter-spacing: -0.04em;
}
.c-button a:hover {
    color: #fff;
}
.c-button a:hover::after {
    width: 100%;
    background: linear-gradient(0deg, #25A9EE 0%, #65D4DB 157.78%);
}
/*もっと詳しく ボタンSP*/
.c-button-sp a {
    max-width: 380px;
    width: 90%;
    /* width: 100%; */
    /* border-radius: 91px; */
    border-radius: 50px;
    background: linear-gradient(201deg, #A5FFC9 -84.03%, #0090F9 144.27%);
    text-align: center;
    /* margin: 20px 0px 0px; */
    margin: 26px auto 50px;
    padding: 15px 10px;
	color: #fff;
    z-index: 3;
    position: relative;
    text-decoration: none;
    display: block;
    font-size: 15px;
}
/* @media screen and (max-width: 767px) {
.c-button-sp a {
    margin: 20px 0px 35px;
	z-index: 3;
	position: relative;
}
} */
a.c-button-sp a {
	opacity: 0.5;
}
/*製品について*/
svg.products-small-img {
    position: absolute;
    z-index: 2;
    mix-blend-mode: multiply;
    right: 31%;
    margin-top: -4%;
}
@media screen and (max-width: 1199px) {
svg.products-small-img {
    right: 23%;
}
}
@media screen and (max-width: 767px) {
svg.products-small-img {
    display: none;
}
}
svg.products-small-img-sp {
    display: none;
}
@media screen and (max-width: 767px) {
svg.products-small-img-sp {
    display: block;
    position: absolute;
	z-index: 1;
	mix-blend-mode: multiply;
    right: 0%;
    margin-top: -8vw;
}
}
.products-bg{
	background-color: #F6F6F6;
	padding: 80px 0px;
    position: relative;
}
@media screen and (max-width: 767px) {
.products-bg{
    padding: 33px 0px 2px;
}
}
.title-gradation-box.title-gradation-box-normal {
    margin-top: 0%;
}
@media screen and (max-width: 767px) {
.container.container-sp {
    padding-right: 0px;
    padding-left: 0px;
}
}
.products-grop {
    color: #2A90DE;
    font-family: "Noto Sans JP";
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 25px;
    margin-top: 33px;
}
@media screen and (max-width: 1199px) {
.products-grop {
    font-size: 16px;
    margin-top: 10px;
}
}
@media screen and (max-width: 767px) {
.products-grop {
    text-align: center;
}
}
@media screen and (max-width: 767px) {
.products-grop.products-grop2 {
    margin: 50px 0px 35px;
}
}
.products-grop span{
    border-bottom: 1px solid #2A90DE;
}
/*スライダー*/
.slider.introduction-example-center {
    display: flex;
    margin-top: 23px;
	gap: 19px; 
	justify-content: space-between;
}

@media screen and (max-width: 767px) {
.slider.introduction-example-center {
    overflow: auto;
    position: relative;
    z-index: 3;
    display: block;
}
}
.slider.introduction-example-center div{
    display: flex;
}
@media screen and (max-width: 1199px) {
.slider.introduction-example-center div{
    height: 300px;
}
}
@media screen and (max-width: 991px) {
.slider.introduction-example-center div{
	width: 100%;
	height: 270px;
	display: block;
	margin: auto;
	text-align: center;
}
}
@media screen and (max-width: 991px) {
.slide-content img {
	margin: 0 10px;
}
}
@media screen and (max-width: 991px) {
article.slide {
	margin: 0px 10px;
}
}
.slide-content {
	padding: 21px 16px;
	flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 13px;
    box-shadow: 3px 3px 10px 0px rgba(0, 0, 0, 0.07);
    background-color: #fff;
    color: #000;
}
.products-grop-text {
    font-size: 15px;
    font-weight: 400;
    text-align: center;
    margin: 40px 0px 50px;
    line-height: 1.8;
}
@media screen and (max-width: 767px) {
.products-grop-text {
	font-size: 13px;
    width: 90%;
	/* width: 96%; */
	margin: auto;
    text-align: left;
    margin-top: 28px;
}
}
.slide-products-title {
    font-size: 17px;
    font-weight: 500;
    margin-bottom: 0rem;
}
@media screen and (max-width: 991px) {
.slide-products-title {
    font-size: 12px;
    margin: 10px 0px;
}
}
p.slide-products-text {
    font-size: 13px;
    font-weight: 400;
    text-align: center;
}
/*SPのみボタン*/
/*戻る*/
span.is-prev-arrow.slick-arrow {
    position: absolute;
    z-index: 3;
    left: 23vw;
    top: 15vw;
    width: 47px;
    height: 47px;
    cursor: pointer;
    border-radius: 27.5px;
    border-radius: 35.25px;
    background: linear-gradient(27deg, #C2FFDA -25.69%, #0B94FC 113.04%);
    background-blend-mode: multiply;
}
@media screen and (max-width: 767px) {
span.is-prev-arrow.slick-arrow{
    left: 14vw;
}
}
@media screen and (max-width: 430px) {
span.is-prev-arrow.slick-arrow{
    left: 12vw;
    top: 26vw;
}
}
@media screen and (max-width: 375px) {
span.is-prev-arrow.slick-arrow{
    left: 6vw;
}
}
@media screen and (max-width: 320px) {
span.is-prev-arrow.slick-arrow {
    left: 2vw;
    top: 28vw;
}
}
span.is-prev-arrow.slick-arrow:before {
    content: "\f060";
    display: inline-block;
    width: 23px;
    color: #fff;
    font-weight: 900;
    font-family: "Font Awesome 6 Free";
    margin: 11px 17px;
}
/*進む*/
span.is-next-arrow.slick-arrow {
    position: absolute;
    z-index: 3;
    right: 23vw;
    top: 15vw;
    width: 47px;
    height: 47px;
    background: #F00;
    cursor: pointer;
    border-radius: 27.5px;
    border-radius: 35.25px;
    background: linear-gradient(27deg, #C2FFDA -25.69%, #0B94FC 113.04%);
    background-blend-mode: multiply;
}
@media screen and (max-width: 767px) {
span.is-next-arrow.slick-arrow {
    right: 14vw;
}
}
@media screen and (max-width: 430px) {
span.is-next-arrow.slick-arrow{
    right: 12vw;
    top: 26vw;
}
}
@media screen and (max-width: 375px) {
span.is-next-arrow.slick-arrow{
    right: 6vw;
}
}
@media screen and (max-width: 320px) {
span.is-next-arrow.slick-arrow {
    right: 2vw;
    top: 28vw;
}
}
span.is-next-arrow.slick-arrow:after {
    content: "\f061";
    display: inline-block;
    width: 23px;
    color: #fff;
    font-weight: 900;
    font-family: "Font Awesome 6 Free";
    margin: 11px 16px;
}
svg.products-big-img{
    position: absolute;
    z-index: 2;
    mix-blend-mode: multiply;
    margin-top: -6%;
    height: 28vw;
}
@media screen and (max-width: 1366px) {
svg.products-big-img{
    margin-top: -6%;
    height: 22vw;
    left: -6%;
}
}
@media screen and (max-width: 1024px) {
svg.products-big-img{
	left: -15%;
}
}
@media screen and (max-width: 991px) {
svg.products-big-img{
	left: -24%;
	height: 51vw;
}
}
@media screen and (max-width: 767px) {
svg.products-big-img{
	margin-top: -68vw;
	left: -18vw;
	height: 112vw;
	width: 100vw;
}
}
@media screen and (max-width: 550px) {
svg.products-big-img{
	height: 78vw;
}
}
@media screen and (max-width: 430px) {
svg.products-big-img{
	left: -60vw;
}
}
@media screen and (max-width: 375px) {
svg.products-big-img{
	margin-top: -105%;
	height: 135vw;
}
}
@media screen and (max-width: 320px) {
svg.products-big-img{
	margin-top: -120%;
	left: -98vw;
}
}
/*新着情報*/
section.top-new-bg {
	background-image: url("../img/new-bg.png");
    background-position: 30% bottom;
	background-repeat: no-repeat;
    padding-bottom: 45px;
    /* height: 930px; */
}
@media screen and (max-width: 767px) {
section.top-new-bg {
    background-image: none;
}
}
/* @media screen and (max-width: 430px) {
section.top-new-bg {
    height: auto;
    margin-bottom: 60px;
}
} */
.title-gradation-center{
	text-align: center;
	padding-top: 80px;
}
@media screen and (max-width: 767px) {
section.top-new-bg {
    padding-bottom: 0;
}
    
.title-gradation-center {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    padding-top: 50px;
}
}
/*採用情報*/
.recruit-grop-left {
    margin-left: 22%;
    margin-top: 50px;
    position: absolute;
	z-index: 2;
}
@media (max-width:1512px){
.recruit-grop-left {
    margin-left: 16%;
}
}
@media (max-width:1440px){
.recruit-grop-left {
    margin-left: 17%;
}
}
@media (max-width:1199px){
.recruit-grop-left {
	margin-left: 13%;
}
}
@media (max-width:1064px){
.recruit-grop-left {
    position: unset;
    margin-left: 3%;
}
}
@media (max-width:767px){
.recruit-grop-left {
    margin-left: 0%;
}
}
@media (max-width:991px){
img.recruit-text-img {
    margin-left: 0%;
    margin: auto;
    display: block;
}
}
@media (max-width:430px){
img.recruit-text-img {
	width: 85%;
	margin: auto;
}
}
p.recruit-text {
    margin: 45px 0px;
    line-height: 2em;
    width: 30vw;
}
@media (max-width:1512px){
p.recruit-text {
    width: 38vw;
}
}
@media (max-width:1440px){
p.recruit-text {
    width: 45%;
}
}
@media (max-width:1199px){
p.recruit-text {
    width: 55%;
}
}
/*採用サイトはこちらボタン*/
/* .c-button.c-button-10 a {
    width: 280px;
} */
/* @media (max-width:1440px){
.c-button.c-button-10 a {
    width: 25%;
}
} */
/* @media (max-width:1199px){
.c-button.c-button-10 a {
    width: 30%;
}
} */
.c-button-10-grop {
    display: flex;
    justify-content: flex-start;
    /* padding-left: 25px; */
    padding-left: 50px;
}
.c-button-10-grop-left{
    padding-left: 15px;
}
img.recruit-img {
    top: -140px;
	width: 62%;
	margin-top: 25px;
    left: 100%;
    position: relative;
    transform: translateX(-100%);
}
@media (max-width:1440px){
img.recruit-img {
    width: 52%;
}
}
@media (max-width:1440px){
img.recruit-img {
	width: 59%;
	margin-top: 200px;
}
}
@media (max-width:1064px){
img.recruit-img {
    display: none;
}
}
img.recruit-img-sp {
    display: none;
}
@media (max-width:1064px){
img.recruit-img-sp {
    display:block;
    margin-top: 20px;
}
}
@media (max-width:1064px){
.recruit-grop {
    display: flex;
    flex-direction: column-reverse;
}
}
.recruit-img-grop {
    position: relative;
}
@media (max-width:1440px){
.recruit-img-grop {
    display: flex;
    flex-direction: column-reverse;
}
}
@media (max-width:1064px){
p.recruit-text {
    width: 95%;
    padding-top: 20px;
    margin: auto;
    font-size: 15px;
}
}
svg.main-gradation-right-recruit1 {
    position: absolute;
    z-index: 2;
    mix-blend-mode: multiply;
    margin-top: -43%;
    margin-top: -17%;
    right: 13vw;
}
@media (max-width:1440px){
svg.main-gradation-right-recruit1 {
	height: 26%;
	margin-top: -6vw;
    right: 10vw;
}
}
@media (max-width:1064px){
svg.main-gradation-right-recruit1 {
	display: none;
}
}
@media (max-width:767px){
svg.main-gradation-right-recruit1 {
	display: block;
	height: 134vw;
	margin-top: -95vw;
	right: 54vw;
}
}
@media (max-width:430px){
svg.main-gradation-right-recruit1 {
	height: 164vw;
	margin-top: -132vw;
	right: 21vw;
}
}
svg.main-gradation-right-recruit2 {
    position: absolute;
    z-index: 2;
    mix-blend-mode: multiply;
    /* margin-top: -31%; */
    margin-top: -28%;
    right: 0%;
    width: 46%;
    height: 33vw;
}
@media (max-width:1680px){
svg.main-gradation-right-recruit2 {
    /* margin-top: -35%; */
    margin-top: -29%;
    right: 0%;
    width: 46%;
    height: 36vw;
}
}
@media (max-width:1064px){
svg.main-gradation-right-recruit2 {
	display: none;
}
}
svg.main-gradation-right-recruit3{
    position: relative;
    z-index: 2;
    mix-blend-mode: multiply;
    margin-top: -9.6%;
	left: 80%;
}
@media (max-width:1512px){
svg.main-gradation-right-recruit3{
    margin-top: -11.6%;
}
}
@media (max-width:1440px){
svg.main-gradation-right-recruit3{
	margin-top: -8.6%;
	height: 10vw;
}
}
@media (max-width:1064px){
svg.main-gradation-right-recruit3{
	display: none;
}
}
svg.main-gradation-right-recruit2-sp {
	display: none;
}
@media (max-width:1064px){
svg.main-gradation-right-recruit2-sp {
    display: block;
    position: absolute;
    z-index: 2;
    mix-blend-mode: multiply;
	/* margin-top: -57%; */
    margin-top: -45%;
	right: 0%;
	width: 48%;
	height: 60vw;
}
}
@media (max-width:767px){
svg.main-gradation-right-recruit2-sp {
    z-index: 1;
}
}
@media (max-width:430px){
svg.main-gradation-right-recruit2-sp {
    margin-top: -67vw;
	right: 0%;
	width: 71%;
	height: 77vw;
}
}
/*footer*/
.footer-bg {
    background: linear-gradient(359deg, #ACFFF0 -46.35%, #026AE5 103.08%);
    padding: 55px 85px 60px;
}
@media (max-width:1064px){
.footer-bg {
    margin-top: 100px;
}
}
@media (max-width:991px){
.footer-bg {
    padding: 55px 45px 60px;
    margin-top: 55px;
}
}
@media (max-width:767px){
.footer-bg {
	background: #00AEF8;
    padding: 32px 0px 15px;
    margin-top: 0px;
}
}
ul.footer-menu {
    margin-top: 45px;
    display: flex;
    color: #fff;
}
@media (max-width:767px){
ul.footer-menu {
    display: none;
}
}
ul.footer-menu li{
	border-right: solid 1px #5DDFFB;
	padding: 0px 24px;
}
ul.footer-menu li a{
    color: #fff;
}
@media (max-width:991px){
ul.footer-menu li a{
    font-size: 14px;
}
}
ul.footer-menu li a:hover{
    color: #000;
	transition: color 0.5s ease-out;
}
ul.footer-menu li:nth-child(1){
	padding: 0px 24px 0px 0px;
}
ul.footer-menu li:nth-child(6){
	border-right: solid 0px transparent;
}
.footer-menu2 {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
@media (max-width:1240px){
.footer-menu2 {
    flex-direction: column;
}
}
@media (max-width:767px){
.footer-menu2 {
    display: none;
}
}
.footer-tel-grop {
    display: flex;
    color: #fff;
    border: solid 1px #fff;
    padding: 14px 30px;
	font-size: 17px;
	font-weight: 700;
    margin-top: 40px;
}
.footer-tel-grop span{
	font-size: 13px;
	font-weight: 700;
}
.footer-tel-text {
    margin-right: 25px;
}
.footer-tel-number {
    color: #fff;
    font-size: 37px;
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    letter-spacing: 0.05em;
    border-left: solid 1px #fff;
    padding-left: 25px;
}
@media (max-width:767px){
img.footer-logo {
    display: block;
    margin: auto;
}
}
@media (max-width:375px){
img.footer-logo {
	width: 85%;
}
}
.sp-nav-menu-item-bottom-white {
    display: flex;
    justify-content: center;
    align-items: center;
}
@media (max-width:1240px){
.sp-nav-menu-item-bottom-white {
    margin-top: 20px;
}
}
.sp-nav-menu-item-bottom-white a{
    margin-right: 20px;
}
@media (max-width:1240px){
.sp-nav-menu-item-bottom-white a{
    margin-right: 0px;
    margin-left: 20px;
}
}
/*お問い合わせ・資料請求*/
#footer-nav-contact,#footer-nav-contact{
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	border-radius: 50px;
}
#footer-nav-user-grop,#footer-nav-contact-grop{
	position: relative;
	overflow: hidden;
	cursor: pointer;
	text-align: center;
    border-radius: 54px;
	padding: 12px 26px;
}
#footer-nav-user_icon,#footer-nav-contact_icon{
  width: 100%;
  height: 100%;
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .35s ease-Out;
  padding: 0;
  bottom: 0;
  left: -310px;
}
#footer-nav-user-grop:hover #footer-nav-user_icon,#footer-nav-contact-grop:hover #footer-nav-contact_icon{
  left: 0;
}
#footer-nav-user-grop:hover .button_inner,#footer-nav-contact-grop:hover .button_inner{
    left: 290px;
}
#footer-nav-user-grop .button_inner,#footer-nav-contact-grop .button_inner{
	position: relative;
	left: 0;
	transition: all .35s ease-Out;
	color: #0090F9;
    font-size: 14px;
    font-weight: 500;
}
@media screen and (max-width:1199px) {
#footer-nav-user-grop a,#footer-nav-contact-grop a{
  font-size: 16px;
}
}
/*会員ログイン*/
#footer-nav-user.g-nav-user{
	border: solid 1px #000;
	background: #000;
}
#footer-nav-user:hover{
  border: solid 1px #fff;
}
#footer-nav-user_icon.g-nav-user_icon{
  background: #000;
  color: #fff;
}
a.g-nav-user-margin {
    margin-right: 20px;
}
@media screen and (max-width:1420px) {
a.g-nav-user-margin {
    margin-right: 10px;
}
}
@media screen and (max-width:1420px) {
a.g-nav-user-margin {
    margin-right: 10px;
}
}
@media screen and (max-width:990px) {
a.g-nav-user-margin,div#g-nav-documen-requestr{
    display: none;
}
}
/*資料請求*/
#footer-nav-contact.g-nav-contact{
	border: solid 1px #00BCF8;
	background: #00BCF8;
}
#footer-nav-contact:hover{
  border: solid 1px #00BCF8;
}
#footer-nav-contact_icon.g-nav-contact_icon{
  background: #00BCF8;
  color: #fff;
}
div#footer-nav-contact,div#footer-nav-user {
    border: solid 1px #fff;
    background: #fff;
    border-radius: 72px;
}
/*コピーライト*/
.copyright_box {
    color: #0092D0;
    text-align: center;
    margin: 12px 0px 12px;
	font-size: 10px;
}
.copyright_box a{
    color: #0092D0;
}
.copyright_box a span{
	border-bottom:solid 1px #0092D0;
    color: #0092D0;
}
.copyright_box a span:hover{
	border-bottom:solid 1px #000;
    color: #000;
	transition: color 0.5s ease-out;
}
.copyright.footer-copyright {
    margin-top: 10px;
}
@media (max-width:767px){
    .copyright_box {
        background: #00AEF8;
        color: #fff;
        margin: 0px;
    }
    .copyright_box a span{
        border-bottom:solid 1px #fff;
        color: #fff;
    }
    .copyright.footer-copyright {
        padding-bottom: 32px;
    }
}

/* =======================================================
 共通__全ページ共通レイアウト
======================================================= */
/* 72px相当 */
.mb-6 {
    margin-bottom: 4.5rem !important;
}
/* 96px相当 */
.mb-7 {
    margin-bottom: 6rem !important;
}
/* 四角いリストマーク（■）の再現 */
.square-list {
    list-style: none;
    padding-left: 0;
    margin: 0;
}
.square-list li {
    position: relative;
    padding-left: 1.2em;
    margin-bottom: 8px;
    line-height: 1.6;
}
.square-list li::before {
    content: "■";
    position: absolute;
    left: 0;
    color: #212529;
    font-size: 0.8em;
    top: 0.2em;
}

/* =======================================================
 共通__ページ下部固定ボタン（SPのみ）
======================================================= */
/* ページ下部固定ボタン（SPのみ） */
@media screen and (max-width: 767px) {
    body,
    body.wp-singular {
        padding-bottom: calc(70px + env(safe-area-inset-bottom)) !important; 
    }

    #sp-cta-bar.is-active {
        transform: translateY(0) !important;
    }

    #sp-cta-bar {
        display: block;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        background-color: #0090F9;
        box-shadow: 0 -3px 12px rgba(0, 0, 0, 0.15);
        padding: 10px 10px calc(10px + env(safe-area-inset-bottom));
        z-index: 4;
        transition: transform 0.4s ease;
        transform: translateY(100%);
    }

    .cta-inner {
        display: flex;
        justify-content: center;
        gap: 16px;
    }

    .cta-btn {
        width: 45%;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 50px;
        border-radius: 50px;
        text-decoration: none;
        font-size: 14px;
        letter-spacing: .1em;
        color: #0090F9;
        background-color: #fff;
    }

    .footer-download {
        width: 20px;
    }

    .footer-sp-phone {
        font-size: 17px;
    }

    .cta-btn span {
        margin-left: 10px;
    }
}

@media screen and (min-width: 768px) {
    #sp-cta-bar {
        display: none !important;
    }
}

/* =======================================================
 フォーム
======================================================= */
/* --- フォーム全体 --- */
.custom-table-form {
    border: 1px solid #c9dff2;
    border-bottom: none;
    background: #fff;
    font-size: 14px;
}

/* --- 左側：見出し --- */
.t-row {
    display: flex;
    border-bottom: 1px solid #c9dff2;
}

/* ラベルの背景色を下に伸ばすため */
/* .t-row.align-top {
    align-items: stretch;
} */

/* --- 左側：見出しラベル --- */
.t-label {
    flex: 0 0 240px;
    background-color: #f3f8fc;
    padding: 25px 20px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    font-weight: bold;
    color: #1c6ece;
}

.badge-must {
    background-color: #1c6ece;
    color: #fff;
    font-size: 11px;
    padding: 3px 8px;
    border-radius: 2px;
    font-weight: normal;
}

/* --- 右側：入力コンテンツ --- */
.t-content {
    flex: 1;
    padding: 20px;
    background-color: #fff;
}

/* --- 右側：入力コンテンツ（checkbox/submit以外） --- */
.wpcf7-form-control:not([type="checkbox"]):not([type="submit"]) {
    background-color: #F8F8F8;
    border: none !important;
    border-radius: 3px;
    padding: 14px 18px;
    font-size: 15px;
    color: #212529;
    width: 100%;
}

.sub-label {
    margin-bottom: .5rem;
    font-size: 12px;
    color: #212529;
}

.t-note {
    font-size: 12px;
    color: #818181;
    margin-top: 8px;
    margin-bottom: 0;
    line-height: 1.4;
}

/* ラジオボタン */
.t-radio .wpcf7-radio {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px 20px;
}

.t-radio .wpcf7-radio label {
    margin-bottom: 0;
}

/* チェックボックス内のテキストエリア */
.t-cb-vertical-list {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 14px 18px;
    background-color: #F8F8F8;
}

.t-cb-inline-group {
    display: flex;
    align-items: center;
    gap: 8px;
}

.t-cb-text-input {
    flex: 1;
    border-bottom: 1px solid #8d8d8d;
    margin-bottom: 5px;
}

.t-cb-text-input input {
    padding: 5px 8px 5px !important;
}

.t-cb-item .wpcf7-form-control {
    background-color: transparent !important;
    padding: 0 !important;
    width: auto !important;
}

/* メール受信に関するご注意 */
.addr-attention {
    margin-top: 15px;
    padding: 15px;
    background-color: #fff9f0;
    border-radius: 3px;
    font-size: 13px;
}

.addr-attention p:last-child {
    margin-bottom: 0;
}

.attn-title {
    font-weight: bold;
    color: #d93025;
    margin-bottom: 5px;
}

.addr-attention strong {
    background: linear-gradient(transparent 70%, #fff0b3 70%);
}

/* --- 同意と送信ボタン --- */
.form-agreement-box {
    margin: 40px auto 60px;
}

.agreement-notice {
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 2rem;
}

.agreement-item:not(:last-child) {
    margin-bottom: 15px;
}

.form-agreement-box .wpcf7-list-item-label {
    font-weight: bold;
    margin-left: 5px;
    cursor: pointer;
}

.form-agreement-box .wpcf7-form-control {
    background-color: transparent !important;
    padding: 0 !important;
}

.form-agreement-box .wpcf7-form-control label {
    margin-bottom: 0;
}

.agreement-item {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

/* 送信ボタン */
.form-submit {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    position: relative;
}

.form-submit .wpcf7-submit {
    background-color: #fff;
    border: 2px solid #0090F9;
    color: #0090F9;
    padding: 18px 80px;
    border-radius: 50px;
    font-weight: bold;
    font-size: 18px;
    transition: .2s;
}

.form-submit .wpcf7-submit:hover {
    color: #fff;
    background-color: #0090F9;
}

/* 送信ボタン横のスピナー */
.wpcf7-spinner {
    position: absolute !important;
    bottom: -40px;
    margin: 0 !important;
}

/* --- スマホ表示（1列に切り替え） --- */
@media (max-width: 768px) {
    .t-row {
        flex-direction: column;
    }

    .t-radio .wpcf7-radio {
        grid-template-columns: 1fr;
    }

    .t-label {
        flex: 0 0 100%;
        padding: 15px 20px;
    }

    .t-check-box .wpcf7-list-item {
        font-size: 14px;
    }
}

/* --- 住所周りのレイアウト調整 --- */
.zip-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
    justify-content: flex-start;
}

.flex-row {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.flex-row .position-row,
.flex-row .city-row {
    flex: 1;
}

.content-address .zip-row .zip-input-full {
    text-align: center;
    letter-spacing: .1em;
    width: 120px;
}

@media (max-width: 991px) {
    .t-content .wpcf7-list-item {
        margin-left: 0;
    }
    .flex-row {
        flex-direction: column;
        gap: 15px;
    }
    .flex-row .position-row,
    .flex-row .prefecture-row {
        flex: none;
        width: 100% !important;
    } 
}

/* --- 都道府県のみの場合 --- */
.pref-wrap select {
    width: 220px !important;
}

@media (max-width: 991px) {
    .pref-wrap select {
        width: 100% !important;
    }
}


/* セレクトボックス自体のカスタマイズ */
select.wpcf7-form-control {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="%231c6ece" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"/></svg>');
    background-repeat: no-repeat;
    background-size: 18px;
    background-position: right 15px center;
    padding-right: 40px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background-color: #fff;
}

/* IEで矢印を消すおまじない */
select::-ms-expand {
    display: none;
}

/* --- プレースホルダー（入力見本）の色を薄くする --- */
/* Google Chrome, Safari, Edge, Opera */
.custom-table-form input::-webkit-input-placeholder,
.custom-table-form textarea::-webkit-input-placeholder {
    color: #ccc !important;
    opacity: 1;
    font-size: 14px;
}

/* Firefox 19+ */
.custom-table-form input::-moz-placeholder,
.custom-table-form textarea::-moz-placeholder {
    color: #ccc !important;
    opacity: 1;
    font-size: 14px;
}

/* IE 10+ */
.custom-table-form input:-ms-input-placeholder,
.custom-table-form textarea:-ms-input-placeholder {
    color: #ccc !important;
    font-size: 14px;
}

/* 標準の書き方 */
.custom-table-form input::placeholder,
.custom-table-form textarea::placeholder {
    color: #ccc !important;
    opacity: 1;
    font-size: 14px;
}

/* --- 送信完了・エラーメッセージのレイアウト調整 --- */
.wpcf7-response-output {
    margin: 40px 0 0 !important;
    padding: 15px 20px !important;
    border-radius: 5px !important;
    font-size: 14px;
    line-height: 1.6;
    text-align: center;
    border: 2px solid transparent !important;
}

/* 送信成功時（緑系） */
.wpcf7 form.sent .wpcf7-response-output {
    background-color: #e6f4ea;
    color: #137333;
    border-color: #137333 !important;
}

/* 入力エラー・失敗時（赤系） */
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unspam .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output {
    background-color: #fce8e6;
    color: #c5221f;
    border-color: #c5221f !important;
}

/* スパムやその他のエラー（オレンジ系） */
.wpcf7 form.spam .wpcf7-response-output {
    background-color: #fef7e0;
    color: #b06000;
    border-color: #b06000 !important;
}

.t-check-box .wpcf7-checkbox {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.t-check-box .wpcf7-checkbox label {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 0;
}

/* =======================================================
 フォーム__確認画面
======================================================= */
#confirm-step h2.confirm-title,
.single h2.confirm-title {
    color: #0090f9;
    text-align: center;
    margin-bottom: 2rem;
    font-size: clamp(1.5rem, 1.364rem + 0.68vw, 1.875rem);
    /* デフォルトh2の指定解除css */
    border: none;
    margin-top: 0;
    padding-bottom: 0;
    line-height: 1.2;
}

#confirm-step h2.confirm-title::before,
.single h2.confirm-title::before {
    display: none;
}

.confirm-btn-style {
    border: 2px solid #0090F9;
    color: #fff;
    background: #0090F9;
    padding: 18px 80px;
    border-radius: 50px;
    font-weight: bold;
    font-size: 18px;
    transition: .2s;
}

.confirm-btn-style:hover {
    background-color: #fff;
    color: #0090F9;
}

.back-btn-style {
    appearance: none;
    background: transparent;
    border: 1px solid #ccc;
    color: #666;
    padding: 8px 30px;
    font-size: 14px;
    letter-spacing: .1em;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: block;
    margin: 40px auto 20px;
}

/* ホバー（マウスを乗せた時）の演出 */
.back-btn-style:hover {
    background-color: #f5f5f5;
    border-color: #999;
    color: #333;
}

.custom-error-tip {
    color: #ff0000;
    font-size: 0.8rem;
    font-weight: bold;
    margin-top: 5px;
    animation: fadeIn 0.3s ease-out forwards;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* agreementのみのエラースタイル */
.agreement-item .custom-error-tip {
    width: 100%;
    text-align: center;
    order: 99;
}

/* 1. CF7標準の吹き出しを消す */
.wpcf7-not-valid-tip {
    display: none !important;
}

/* 2. 送信完了・エラーメッセージの枠を消す */
.wpcf7-response-output {
    display: none !important;
}






/* =======================================================
 フォーム__reCAPTCHA
======================================================= */
/* reCAPTCHAバッジ__非表示 */
.grecaptcha-badge {
    visibility: hidden;
}

/* reCAPTCHA__テキスト */
.recaptcha-text {
    font-size: 12px;
    color: #818181;
    line-height: 1.8;
    margin-top: 3rem;
    text-align: center;
}

.recaptcha-text a {
    color: #0090F9;
    text-decoration: underline;
}




/* =========================================
  共通__固定ページ
  page.php
========================================= */
.page p {
    line-height: 1.8;
}

.page-main {
    margin-top: 3rem;
    margin-bottom: 5rem;
}

.single h2,
.page-body h2 {
    position: relative;
    margin-top: 3rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    line-height: 1.6;
    border-bottom: 1px solid #dee2e6;
    font-size: clamp(1.25rem, 1.205rem + 0.23vw, 1.375rem);
}

.single h2::before,
.page-body h2::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 3.5em;
    height: 1px;
    line-height: 1.6;
    background-color: #0090F9;
}

.single h3,
.page-body h3 {
    border-left: 5px solid #0090F9;
    padding: 5px 12px 5px 16px;
    font-size: 1.125rem;
    font-weight: 600;
    margin-top: 1.5rem;
    margin-bottom: .875rem;
    line-height: 1.6;
}

.single h4,
.page-body h4 {
    color: #0090F9;
    font-size: 1.125rem;
    font-weight: 600;
    margin-top: 1.5rem;
    margin-bottom: .875rem;
    line-height: 1.6;
}

/* リンク */
.page-body p a {
    color: #588fca;
    word-break: break-all;
    text-decoration: underline !important;
}

/* サクセスオリジナルボタン */
.is-style-sc-btn-01 {
    max-width: 320px;
    width: 100%;
}

.is-style-sc-btn-01 a {
    display: block;
    background: linear-gradient(201deg, #A5FFC9 -84.03%, #0090F9 144.27%);
    text-align: center;
    border-radius: 50px;
    padding: 15px;
    color: #fff;
    font-size: 14px;
    transition: .25s;
}

.is-style-sc-btn-01 a:hover {
    color: #fff;
    opacity: .7;
}

.is-style-sc-btn-02 {
    max-width: 360px;
    width: 100%;
}

.is-style-sc-btn-02 a {
    display: block;
    background-color: #fff;
    color: #0090F9 !important;
    border: 2px solid #0090F9;
    text-align: center;
    border-radius: 50px;
    font-weight: 500;
    font-size: 16px;
    padding: 18px 16px;
    transition: .25s;
}

.is-style-sc-btn-02 a:hover {
    background-color: #0090F9;
    color: #fff !important;
}

/* スマホ・タブレットなど（ホバーができない端末）の設定 */
@media (hover: none) {

    .is-style-sc-btn-01 a:hover,
    .is-style-sc-btn-02 a:hover {
        background-color: transparent !important;
        color: #fff !important;
        opacity: 1 !important;
    }
}

/* aligncenter（中央寄せ）が選ばれた時、tableではなくblockとして扱う */
.single .wp-block-image.aligncenter,
.page-body .wp-block-image.aligncenter {
    display: block !important;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

/* 880pxに設定している画像がスマホで飛び出さないための保険 */
.page-body .wp-block-image img {
    max-width: 100%;
    height: auto;
    display: inline-block;
}


/* リスト */
.page-body ol.wp-block-list,
.page-body ul.wp-block-list {
    margin-bottom: .5rem;
}

/* scリスト */
ul.is-style-check-list {
    padding-left: 1.5rem;
}

ul.is-style-check-list:not(:last-child) {
    margin-bottom: 2rem;
}

ul.is-style-check-list>li {
    position: relative;
    padding-left: 20px;
    line-height: 1.6;
}

ul.is-style-check-list>li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.6em;
    width: 10px;
    height: 5px;
    border-bottom: 2px solid #2589d0;
    border-left: 2px solid #2589d0;
    transform: rotate(-45deg);
}

ul.is-style-check-list>li:not(:last-child) {
    margin-bottom: 0.5em;
}

/* --- 2階層目（入れ子）のスタイルをリセット --- */
ul.is-style-check-list li ul,
ol.wp-block-list li ul {
    list-style-type: circle;
    margin-left: 1.5em;
}

ul.is-style-check-list li ul li,
ol.wp-block-list li ul {
    padding-left: 0;
}

@media (max-width: 767px) {

    ul.is-style-check-list {
        margin-left: 0;
    }

    ul.is-style-check-list li {
        font-size: 15px;
    }
}

/* sc区切り線 */
hr.is-style-sc-hr {
    border-top: 1px solid #c2c2c2;
}

/* 背景BOX */
.single .has-background,
.page-body .has-background {
    padding: 1.125em 1.5em;
    margin-top: 1.5rem;
}

@media (max-width: 768px) {
    ul.is-style-check-list {
        padding-left: .875rem;
    }

    .single .has-background,
    .page-body .has-background {
        padding: 1rem;
    }
}


/* --- 左側にラベルがある table --- */
.page-body .sc-label-table table {
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    border-collapse: collapse;
}

.page-body .sc-label-table tr {
    display: flex;
}

.page-body .sc-label-table td {
    border-top: 1px solid #ddd;
    border-left: 1px solid #ddd;
    border-right: none;
    border-bottom: none;
    padding: 20px;
}

.page-body .sc-label-table td:first-child {
    background-color: #f3f8fc;
    color: #1c6ece;
    flex: 0 0 240px;
    font-weight: bold;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.page-body .sc-label-table td:not(:first-child) {
    flex: 1;
}

@media screen and (max-width: 767px) {
    .page-body .sc-label-table {
        font-size: 14px;
    }

    .page-body .sc-label-table tr {
        flex-direction: column;
    }

    .page-body .sc-label-table td {
        padding: 16px 20px;
    }

    .page-body .sc-label-table td:first-child {
        flex: 0 0 100%;
    }

    .page-body .sc-label-table td:last-child {
        border-top: none;
    }
}

/* --- 上部にタイトルがある table--- */
.page-body .sc-data-table table {
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    border-collapse: collapse;
    width: 100%;
}

.page-body .sc-data-table thead {
    border: none;
}

.page-body .sc-data-table th {
    background-color: #1c6ece;
    border-top: 1px solid #ddd;
    border-left: 1px solid #ddd;
    color: #fff;
    text-align: center;
    padding: 16px;
}

.page-body .sc-data-table td {
    border-top: 1px solid #ddd;
    border-left: 1px solid #ddd;
    border-right: none;
    border-bottom: none;
    padding: 16px;
}

@media screen and (max-width: 767px) {
    .page-body .sc-data-table {
        width: 100%;
        overflow-x: auto;
        position: relative;
    }

    .page-body .sc-data-table table {
        width: auto;
        table-layout: auto;
        min-width: 550px;
        font-size: 15px;
    }
}

/* =========================================
  WP_セミナー一覧ページ
  page-seminar.php
========================================= */
.seminar-list-container .sc-data-table a {
    color: #588fca;
    word-break: break-all;
    text-decoration: underline !important;
}

.seminar-list-container .sc-data-table table {
    table-layout: fixed;
    width: 100%;
}

.seminar-list-container .sc-data-table th {
    text-align: center;
}

.seminar-list-container .sc-data-table th:nth-child(1),
.seminar-list-container .sc-data-table td:nth-child(1) {
    width: 60%;
    vertical-align: middle;
}

.seminar-list-container .sc-data-table th:nth-child(2),
.seminar-list-container .sc-data-table td:nth-child(2) {
    width: 20%;
    vertical-align: middle;
}

.seminar-list-container .sc-data-table th:nth-child(3),
.seminar-list-container .sc-data-table td:nth-child(3) {
    width: 20%;
    vertical-align: middle;
}

@media screen and (max-width: 767px) {
    .seminar-list-container .sc-data-table table {
        table-layout: fixed !important;
        width: 100% !important;
        min-width: 650px !important;
    }

    .seminar-list-container .sc-data-table th:nth-child(1),
    .seminar-list-container .sc-data-table td:nth-child(1) {
        width: 310px !important;
        white-space: normal !important;
    }

    .seminar-list-container .sc-data-table th:nth-child(2),
    .seminar-list-container .sc-data-table td:nth-child(2) {
        width: 170px !important;
        white-space: normal !important;
    }

    .seminar-list-container .sc-data-table th:nth-child(3),
    .seminar-list-container .sc-data-table td:nth-child(3) {
        width: 170px !important;
        white-space: normal !important;
    }
}

/* =========================================
  WP_page.php    サンクスページ
========================================= */
.page-id-211 .sc-breadcrumb,
.page-id-315 .sc-breadcrumb,
.page-id-1351 .sc-breadcrumb,
.page-id-1389 .sc-breadcrumb,
.page-id-211 .sub-main,
.page-id-315 .sub-main,
.page-id-1351 .sub-main,
.page-id-1389 .sub-main
 {
    display: none;
}

.page-id-211 .page-main,
.page-id-315 .page-main,
.page-id-1351 .page-main,
.page-id-1389 .page-main
{
    margin-top: 240px;
    margin-bottom: 180px;
}

@media screen and (max-width: 767px) {

    .page-id-211 .page-main,
    .page-id-315 .page-main,
    .page-id-1351 .page-main,
    .page-id-1389 .page-main
{
        margin-top: 120px;
        margin-bottom: 100px;
    }
}


.single .sub-section-title {
    margin-bottom: 2rem;
    text-align: center;
}

.single .sub-section-title__en {
    text-transform: uppercase;
    color: #0090F9;
    letter-spacing: .1em;
    margin-bottom: 10px;
    display: block;
    font-weight: 600;
}

.single h2.sub-section-title__ja {
    font-size: clamp(1.5rem, 1.364rem + 0.68vw, 1.875rem);
    line-height: 1.6;
    font-weight: 500;
    border: none;
    margin: 0 !important;
    padding: 0 !important;
}

.single h2.sub-section-title__ja::before {
    display: none;
}



/* =======================================================
 共通__新着情報タイトルの並び
======================================================= */
/* --- 1. post枠--- */
.post-article {
    display: grid;
    grid-template-columns: 100px 1fr 30px;
    grid-template-rows: auto auto;
    column-gap: 10px;
    row-gap: 8px;
    align-items: start;
    padding: 20px 0;
    position: relative;
    border-bottom: solid 1px #dee2e6;
}
.post-article:first-child {
    border-top: solid 1px #dee2e6;
}
/* --- 2. 左側：日付（上下中央） --- */
.post-wp-day {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
    align-self: center;
    margin-bottom: 0;
    color: #818181;
    font-size: 15px;
    font-weight: 500;
    font-family: 'Montserrat', sans-serif;
}
/* --- 3. 右側：カテゴリーとフラグ（横並び） --- */
.post-wp-category {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.post-wp-category a {
    text-decoration: none;
}
/* --- 4. 右側：postタイトルリンク --- */
.post-wp-title-link {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    text-decoration: none;
}
.post-wp-title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    font-size: clamp(0.813rem, 0.767rem + 0.23vw, 0.938rem);
    font-weight: 400;
    margin: 0;
    color: #212529;
    line-height: 1.4;
}
/* --- 5. 右端：矢印 --- */
.post-arrow-link {
    grid-column: 3 / 4;
    grid-row: 1 / 3;
    align-self: center;
}

@media screen and (max-width: 767px) {
    .post-article {
        grid-template-columns: auto 1fr;
        grid-template-rows: auto auto;
        column-gap: 10px;
        row-gap: 0;
    }

    .post-wp-day {
        grid-column: 1 / 2;
        grid-row: 1 / 2;
        font-size: 13px;
        position: relative;
    }

    .post-wp-category {
        grid-column: 2 / 3;
        grid-row: 1 / 2;
    }

    .post-wp-title-link {
        grid-column: 1 / 3;
        grid-row: 2 / 3;
        margin-top: 10px;
    }
}

/* --- 矢印の動き --- */
.arrow-right-wp {
    position: absolute;
    content: '';
    top: 50%;
    right: 10px;
    -webkit-transform: translateX(0) translateY(-50%);
    -moz-transform: translateX(0) translateY(-50%);
    -ms-transform: translateX(0) translateY(-50%);
    transform: translateX(0) translateY(-50%);
    width: 24px;
    height: 24px;
    -webkit-transition: -webkit-transform 0.2s ease-out;
    transition: transform 0.2s ease-out;
}

.arrow-right-wp::before,
.arrow-right-wp::after {
    position: absolute;
    content: '';
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
}

.arrow-right-wp::before {
    width: 15px;
    height: 15px;
    border-top: 1px solid transparent;
    border-right: 1px solid transparent;
    border-image: linear-gradient(to left, #2354FF, #6fb8df) 1;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    right: 1px;
}

.arrow-right-wp::after {
    width: 24px;
    height: 1px;
    background: linear-gradient(to left, #2354FF, #6fb8df);
}

.post-article:hover .arrow-right-wp {
    -webkit-transform: translateX(8px) translateY(-50%);
    -moz-transform: translateX(8px) translateY(-50%);
    -ms-transform: translateX(8px) translateY(-50%);
    transform: translateX(8px) translateY(-50%);
}

@media (max-width: 767px) {
    .post-arrow-link {
        display: none;
    }
}

/* =======================================================
 TOP__新着情報
======================================================= */
.top-news-content {
    background: #FFF;
    width: 80%;
    margin: auto;
    margin-top: 60px;
    margin-bottom: 40px;
    padding: 40px;
    position: relative;
    z-index: 2;
}

@media screen and (max-width: 991px) {
    .top-news-content {
        width: 100%;
    }
}

@media screen and (max-width: 767px) {
    .top-new-bg-container {
        background: #fff;
        position: relative;
        z-index: 3;
        padding: 0px 0px 1px;
    }

    .top-news-content {
        margin-top: 20px;
        margin-bottom: 20px;
        padding: 0;
    }
}
/* =======================================================
 共通__新着情報 カテゴリースタイル
======================================================= */
/* カテゴリー同士の高さを揃える */
.post-wp-category a {
    display: flex;
}
/* カテゴリー基本スタイル */
.post-wp-category .cat-style {
    display: inline-block;
    font-size: 11px;
    padding: 3px 8px;
    line-height: 1.4;
    font-weight: normal;
    vertical-align: middle;
    border: 1px solid transparent;
}
/* [サブ]カテゴリー */
.post-wp-category .cat-style.label-sub {
    background: #f8f9fa !important;
    border: 1px solid #e0e0e0 !important;
    color: #818181 !important;
    font-weight: normal;
    cursor: default;
}
/* [重要]カテゴリー */
.post-wp-category .cat-style.label-important {
    background-color: #2c3394;
    color: #fff;
}
/* =========================================
  共通__アーカイブページ
  page-news.php / taxonomy-seminar_cat.php / archive.php
========================================= */
/* --- 枠 --- */
.news-archiv-inner {
    display: flex;
    align-items: flex-start;
    gap: 60px;
    margin-top: 2rem;
    margin-bottom: 5rem;
}
@media (max-width: 992px) {
    .news-archiv-inner {
        flex-direction: column-reverse;
        gap: 40px;
    }
}
/* 記事一覧 */
.post-article-list {
    flex: 1;
}
@media (max-width: 992px) {
    .post-article-list {
        width: 100%;
    }
}
/* --- サイドバー --- */
.news-sidebar {
    width: 300px;
    position: sticky;
    top: 130px;
    height: fit-content;
    background: #fff;
    padding: 1.875rem;
    box-shadow: 3px 3px 10px 0px rgba(0, 0, 0, 0.07);
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.sidebar-widget-title {
    font-size: 1rem;
    padding-bottom: .625rem;
    margin-bottom: 1rem;
    position: relative;
    border-bottom: 1px solid #dee2e6;
}
.sidebar-widget-title::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 3.5em;
    height: 1px;
    background-color: #0090F9;
}
.news-sidebar ul li {
    font-size: .875rem;
}
.news-sidebar ul li:not(:last-child) {
    margin-bottom: .625rem;
}
.news-sidebar ul li > a {
    position: relative;
    padding-left: 1.5em;
    display: inline-block;
    color: #212529;
    transition: all 0.2s;
    text-decoration: none;
}
.news-sidebar ul li > a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    width: 7px;
    height: 7px;
    border-top: 1px solid #0090F9;
    border-right: 1px solid #0090F9;
}
.sidebar-list a:hover {
    color: #0090F9;
}
.sidebar-list li.current-cat a {
    color: #0089FF;
    font-weight: 600;
}
@media (max-width: 992px) {
    .news-sidebar {
        position: static;
        width: 100%;
    }
}
/* --- ページネーション --- */
.pagination-wrapper {
    margin-top: 2rem;
    margin-bottom: 2rem;
}
.pagination-wrapper .pagination {
    justify-content: center;
}
.pagination-wrapper .nav-links {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    list-style: none;
}
.pagination-wrapper .page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background:#FFF;
    border: 1px solid #e0e0e0;
    color: #212529;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.3s ease;
    border-radius: 50px;
}
.pagination-wrapper .page-numbers:hover:not(.dots) {
    opacity: .6;
}
.pagination-wrapper .page-numbers.current {
    background: #0090F9;
    color:#FFF;
    border-color:#0090F9;
    cursor: default;
}
.pagination-wrapper .dots {
    border: none;
    background: transparent;
    width: 30px;
}
@media screen and (max-width: 768px) {
    .pagination-wrapper .page-numbers {
        width: 38px;
        height: 38px;
        font-size: 13px;
    }
}
/* ==================================
  共通__投稿詳細ページ
  single.php / single-seminar.php
====================================*/
.news-detail-inner {
    margin-top: 2rem;
    margin-bottom: 5rem;
}
.single .entry-content {
    margin-bottom: 5rem;
}
.single .entry-content p {
    line-height: 1.8;
}
.single .seminar-detail-container a {
    color: #588fca;
    word-break: break-all;
    text-decoration: underline !important;
}
.post-wp-daycat {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
}
.post-wp-daycat .detail-labels {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.single .detail-title {
    font-size: clamp(1.125rem, 0.989rem + 0.68vw, 1.5rem);
    line-height: 1.5;
    color: #0090F9;
    border-bottom: 2px solid #0090F9;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
}
@media (max-width: 767px) {
    .single .entry-content p {
        font-size: 15px;
    }
    .single .detail-title {
        margin-bottom: 1.5rem;
    }
}

/* ==================================
  カスタム投稿ページ専用
  single-seminar.php
====================================*/
/* --- セミナー終了フラグ（ページ上部） --- */
.seminar-closed-notice {
    background: #fff5f5;
    color: #d63031;
    padding: 15px 20px;
    margin-bottom: 30px;
    font-weight: 600;
    font-size: 1.25rem;
    text-align: center;
}
/* --- セミナー終了フラグ（フォーム） --- */
.seminar-closed-msg {
    text-align: center;
    padding: 40px 16px;
    background: #f8f9fa;
    color: #7f8c8d;
    font-size: 1.25rem;
    border: 2px dashed #bdc3c7;
    border-radius: 8px;
}
/* --- お申し込み・セミナー案内ボタン --- */
.seminar-free-content .post-detail-btns {
    display: flex;
    gap: 1.5rem;
    margin-top: 3rem;
}
.seminar-free-content .post-detail-btns a {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    width: 100%;
    max-width: 320px;
    padding: 16px 10px;
    font-weight: 600;
    transition: .25s;
    text-align: center;
    text-decoration: none !important;
}
.seminar-free-content .post-detail-btns .btn-entry {
    background-color: #fff;
    color: #026AE5;
    border: 2px solid #026AE5;
}
.seminar-free-content .post-detail-btns .btn-pdf {
    background-color: #026AE5;
    color: #fff;
    border: 2px solid #026AE5;
}
.seminar-free-content .post-detail-btns a:hover {
    opacity: .7;
}
@media (max-width: 767px) {
    .seminar-free-content .post-detail-btns {
        flex-direction: column;
        align-items: center;
    }
}
/* --- セミナー詳細エリア --- */
.seminar-detail-inner {
    background: #fff;
    padding: 50px 60px;
    border-radius: 8px;
}
.seminar-detail-section:not(:last-child) {
    margin-bottom: 2.5rem;
}
.seminar-detail-section h3.seminar-detail-label,
.program-section h3.program-part {
    background: #f6f6f6;
    font-size: 1rem;
    padding: 10px 12px 10px 16px;
    margin-bottom: 1rem;
    margin-top: 0;
}
.seminar-detail-content {
    padding-left: 20px;
    padding-right: 20px;
}
.icon-calendar {
    position: relative;
    padding-left: 1.5em;
    line-height: 1.6;
}
.icon-calendar::before {
    content: "\f274";
    font-family: "Font Awesome 6 Free";
    font-weight: 400;
    position: absolute;
    left: 0;
    top: 0;
}
@media (max-width: 767px) {
    .seminar-detail-inner {
        padding: 30px 16px;
    }
    .seminar-detail-content {
        padding-left: 0;
        padding-right: 0;
    }
}
/* --- セミナー内容/配信内容エリア --- */
.seminar-program-container {
    margin-top: 5rem;
}
.program-section:not(:last-child) {
    margin-bottom: 2.5rem;
}
.program-body {
    padding: 0 1.5rem;
}
.program-part {
    background-color: #f6f6f6;
    padding: .625rem 1rem;
    color: #0090F9;
    font-size: 1.125rem;
    font-weight: 500;
    margin-bottom: 1.5rem;
}
.program-part span {
    margin-right: 20px;
}
.program-head {
    border-bottom: 1px dotted #666;;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
}
.program-speaker {
    text-align: right;
    margin-bottom: 0;
    font-size: .875rem;
    font-weight: 600;
    color: #666;
}
.mixed-program-body-content .program-section .program-title {
    font-size: 1.125rem;
    font-weight: 600;
}
@media screen and (max-width: 768px) {
    .program-body {
        padding: 0;
    }
    .program-part {
        margin-bottom: 1rem;
    }
    .program-speaker {
        text-align: left;
    }
}
.seminar-date-text {
    font-size: 1.25em;
    font-weight: 500;
    letter-spacing: .05em;
}
@media screen and (max-width: 768px) {
    .seminar-date-text {
        font-size: 1em;
    }
}

/* ==================================
  カスタム投稿ページ専用
  ③対面+オンライン（mixed）
====================================*/
/* セミナー開催日時 */
.mixed-item {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid #eee;
}
/* 1段目：エリア、締切、終了タグ */
.mixed-header {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.mixed-place {
    font-size: .875em;
    letter-spacing: .2em;
    text-indent: .2em;
    font-weight: 500;
    background: #0090F9;
    color: #FFF;
    padding: 5px 10px;
    line-height: 1;
    display: inline-block;
    text-align: center;
    width: 70px;
}
.mixed-deadline {
    font-size: .875em;
}
.mixed-status {
    margin-left: 16px;
    color: #d9534f;
    font-size: .875em;
    font-weight: 700;
}
/* 2段目：日時、定員 */
.mixed-schedule {
    font-size: 17px;
}
.mixed-date,
.mixed-capacity {
    display: inline;
}
.mixed-date {
    font-weight: 700;
}
/* 3段目：会場名 */
.mixed-location {
    position: relative;
    padding-left: 1.5em;
    line-height: 1.6;
}
.mixed-location::before {
    content: "\f3c5";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    left: 0;
    top: 0;
}
/* 4段目：住所 */
.mixed-address {
    color: #666;
    font-size: 0.875em;
}
@media (max-width: 767px) {
    .mixed-header {
        flex-direction: column;
        gap: 8px;
    }
    .mixed-schedule,
    .mixed-location {
        font-size: 15px;
    }
}




/* Utility */
.mb-60 {
    margin-bottom: 60px;
}

.mb-80 {
    margin-bottom: 80px;
}

.mb-100 {
    margin-bottom: 100px;
}