@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Template:   cocoon-master
Version:    1.1.0
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/* 2025/6/ top全体*/
#wrap-add-new-top .visual-block {
  position: relative;
  width: 100%;
  margin-top: 0;
}
#wrap-add-new-top .visual-block:first-child{
  margin-top: 0;
}
#wrap-add-new-top .image-wrap {
  position: relative;
}

#wrap-add-new-top .image-wrap img {
  width: 100%;
  height: auto;
  display: block;
}

#wrap-add-new-top .overlay-content {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  text-align: center;
  width: 100%;
  height: 100%;

}
#wrap-add-new-top .img-button,
#wrap-add-new-top .wrap-movie{
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}
.wrap-movie iframe{
  width: 100%;
  max-width: 85%;
  height: 520px;
}
#wrap-add-new-top .img-button img {
  width: 85%;
  cursor: pointer;
  margin: auto;
}
#wrap-add-new-top .video-container{
  max-width: 90%;
  margin: 0 auto;
}
/* 2025/6/ topコンテンツ毎*/
#vd-top .img-button{
  bottom:1%;
}
#vd-work .wrap-movie{
  bottom:5%;
}
#vd-work .img-button{
  bottom:0;
}
#vd-manga #manga-link{
  display: block;
  width: 100%;
  height: 100%;
}
#vd-pickup .wrap-movie{
  bottom:6%;
}
#vd-salary .img-button{
  bottom:2%;
}
#vd-trouble .img-button{
  top:-2%;
}
#vb-feature .img-button:first-child{
  top: 5%;
}
#vb-feature .img-button:last-child{
  bottom:-1%;
}
#vb-office .img-button:first-child{
  top:37%;
}
#vb-office .img-button:last-child{
  bottom:0;
}
#wrap-office-img {
  position: absolute;
  bottom: 14%;
}

#wrap-office-img ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 0 15px;
  margin: 0;
  list-style: none;
  max-height: calc((400px + 0.5rem) * 3); /* 高さは3行分 */
  overflow-y: auto;
}

#wrap-office-img li {
  width: calc(33.333% - 0.333rem); /* 3列分に調整 */
  box-sizing: border-box;
  margin: 0;
}

#wrap-office-img li .img-box {
  width: 100%;
  aspect-ratio: 1 / 1;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  background-color: #eee;
}

#wrap-office-img li .img-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;  /* 中央を切り抜いて拡大 */
  object-position: center;
}

#vb-exp .img-button:first-child{
  top:43%;
}
#vb-exp .img-button:last-child{
  bottom:-1%;
}
#vb-promise .img-button{
  bottom:0;
}
#vb-dormy .img-button:first-child{
  top:42%;
}
#vb-dormy .img-button:last-child{
  bottom: 4.5%;
}
#vb-qa{
  margin-top: 0;
}
#vb-qa .img-button:last-child{
  bottom:0;
}

/*slider */
/*slider */

/* 親：absoluteで背景画像の上に配置 */
.add-slider-wrap {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 90%;
  z-index: 10;
}

#as-column {
  top: 19%;
}

#as-blog {
  bottom: 7%;
}

/* 内部の白い背景枠 */
.add-sleder {
  max-height: 840px; /* ← 背景画像と合わせる値に調整 */
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  border-radius: 20px;
  box-shadow: 0 0 10px rgba(0,0,0,0.1);
  background: white;
}

/* Swiper本体 */
.column-swiper {
  width: 100%;
  overflow: hidden;
}

/* 横並びの制御 */
.column-swiper .swiper-wrapper {
  display: flex;
  align-items: stretch;
}

/* 各スライド（中央に1枚） */
.column-swiper .swiper-slide {
  flex-shrink: 0;
  width: 100%;
  box-sizing: border-box;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}

/* 投稿カード全体 */
.column-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  width: 100%;
}

.column-card .thumb img {
  width: 100%;
  aspect-ratio: 5/3;
  object-fit: cover;
  border-radius: 8px 8px 0 0;
}

.column-card .meta {
  padding: 0.75rem;
  text-align: left;
}

.column-card .title {
  font-size: 1.5rem;
  font-weight: bold;
  margin: 0.3rem 0;
}

.column-card .excerpt {
  font-size: 1.2rem;
  color: #666;
}

.column-card .more {
  display: inline-block;
  margin-top: 0.8rem;
  font-size: 0.85rem;
  color: #0073aa;
}

/* 矢印全体の共通設定 */
.column-swiper .swiper-button-prev,
.column-swiper .swiper-button-next {
  width: 10%;
  height: 10%;
  top: 50%;
  transform: translateY(-50%);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 20;
  background-color: transparent;
  border: none;
}

/* 左矢印 */
.add-slider-wrap .swiper-button-prev {
  background-image: url('/static/img/arrow_L.webp');
  left: -20px;
}

/* 右矢印 */
.add-slider-wrap .swiper-button-next {
  background-image: url('/static/img/arrow_R.webp');
  right: -20px;
}

/* デフォルトの矢印アイコン非表示 */
.swiper-button-prev::after,
.swiper-button-next::after {
  display: none;
}

/*必要ならばここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1240px以下*/
@media screen and (max-width: 1240px){
  /*必要ならばここにコードを書く*/
}

/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
    .floating-banner {
  z-index: 999998 !important;
  width:30%;
  max-width: 30%;
  }
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
  /* 2025/6/ top-spコンテンツ毎*/
  .wrap-movie iframe{
    height: 210px;
  }
  #vd-top .img-button{
    bottom:0%;
  }
  #vd-work .wrap-movie{
    bottom:6%;
  }
  #vd-work .img-button{
    bottom:0;
  }
  #vd-pickup .wrap-movie{
    bottom:8%;
  }
  #vb-feature .img-button:first-child{
    top: 5%;
  }
  #vb-feature .img-button:last-child{
    bottom:-1%;
  }
  #vb-office .img-button:first-child{
    top:37%;
  }
  #vb-office .img-button:last-child{
    bottom:0;
  }
  #wrap-office-img{
    position: absolute;
    bottom: 12%;
  }
  #vb-exp .img-button:first-child{
    top:43%;
  }
  #vb-exp .img-button:last-child{
    bottom:-1%;
  }
  #vb-promise .img-button{
    bottom:0;
  }
  #vb-dormy .img-button:first-child{
    top:42%;
  }
  #vb-dormy .img-button:last-child{
    bottom: 4.5%;
  }
  #vb-qa{
    margin-top: 0;
  }
  #vb-qa .img-button:last-child{
    bottom:0;
  }
  #wrap-office-img {
  position: absolute;
  bottom: 14%;
  }
  #wrap-office-img li {
    width: calc(50% - 0.25rem); /* 2列に変更 */
  }

  #wrap-office-img ul {
    max-height: calc((160px + 0.5rem) * 3); /* 高さそのままでもOK */
  }

  /* 内部の白い背景枠 */
  .add-sleder {
    max-height: 360px; /* ← 背景画像と合わせる値に調整 */
  }
  .column-card .thumb img {
  aspect-ratio: 6 / 3;
}

.column-card .meta {
  padding: 0.75rem;
}

.column-card .title {
  font-size: 0.9rem;
  margin: 0.2rem 0;
}

.column-card .excerpt {
  font-size: 0.8rem;
  display: -webkit-box;
  -webkit-line-clamp: 2; /* 行数を指定 */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.column-card .more {
  margin-top: 0.5rem;
  font-size: 0.5rem;
}
  .floating-banner {
  z-index: 999998 !important;
  width:30%;
  max-width: 30%;
  }
  .main-scroll{
    position: relative;
  }
}

.entry-title{
	display: none;
}

.post-date{
	display: none;
}

.post-update{
	display: none;
}

.author-info{
	display: none;
}

.home.page .entry-title{
	display: none;
}

.menu-close-button {
  display: block;
  cursor: pointer;
  text-align: center;
  font-size: 2em;
}

/** sp **/
@media screen and (max-width:480px){
	select {
		background-color: initial;
	}
	.home.page #navi {
		display: none
	}
	.logo-menu-button img {
		max-height: 37px;
		margin: 0;
	}
	.menu-content {
		max-width: 90%;
	}
	.home-menu-button, .search-menu-button, .sidebar-menu-button {
	}
	.menu-close-button {
		text-align: start;
	    margin-left: 20px;
	}
	.menu-drawer li {
	    margin-bottom: 5px;
	}
	li .sub-menu .menu-item {
		border-bottom: none;
	}
	.pc-header {
		display:none !important;
	}
	.site-logo-image {
		margin: 0 auto !important;
	}
/* 	#navi-menu-content {
		background: #ce2c5a !important;
		color: #ffffff;
	}
	#navi-menu-content a {
		color: #ffffff;
	} */
    .box-item{
      text-align: center;
    }
	.menu-close-button::before {
		margin:0 10px 0 0;
		content: "Close";
		font-size: 16px;
	}
	.page-contents {
		padding: 10px;
	}
  
}

h1.entry-title {
	color: #364e96;/*文字色*/
    padding: 0.5em 0;/*上下の余白*/
    border-top: solid 3px #364e96;/*上線*/
    border-bottom: solid 3px #364e96;/*下線*/
}

.article h2 {
	background: linear-gradient(transparent 70%, #ffc6c6 70%);
	padding: 5px;
}

@media screen and (min-width:480px){
	.reg-name {
		width: 300px !important;
	}
	.reg-furigana {
		width: 300px !important;
	}
	.reg-tel {
		width: 300px !important;
	}
	.reg-zip_code {
		width: 100px !important;
	}
	.reg-pref {
		width: 150px !important;
	}
	.reg-instructor {
		width: 150px !important;
	}
	.reg-address {
		width: 500px !important;
	}
	.reg-email {
		width: 500px !important;
	}
	.instructor .profile {
		width: 55%;
		float: right;
		padding:10px;
		min-height: 550px;
	}
	.instructor .image {
		width: 40%;
		float: left;
	}
	.sub-menu li .item-label {
		font-size: 0.8rem;
	}
	.logo-link {
		float:left;
	}
	#flexbox{
      display:flex; 
      flex-wrap: wrap;
      width: 100%;
      height:auto;
      padding:10px;
    }
    .box-item{
      width: 50%;
      text-align: center;
      padding:15px 40px;
    }
	.center {
		text-align:center;
	}
	.bnr-corona {
		display:none;
	}
	.youtube {
		height:550px;
	}
	.youtube iframe {
		height: 500px;
	}
}

.reg-submit {
	width: 300px !important;
    display: inline-block !important;
    padding: 0.5em 1em !important;
    text-decoration: none !important;
    background: #668ad8 !important;
    color: #FFF !important;
    border-bottom: solid 4px #627295 !important;
    border-radius: 3px !important;
}
.reg-submit:active {
    -webkit-transform: translateY(4px) !important;
    transform: translateY(4px) !important;
    border-bottom: none !important;
}

.instructor .image {
	text-align: center;
}
.instructor .name {
	font-size: 1.75rem;
    text-align: center;
}
.instructor .profile {
	padding-left: 5px;
}
.clear {
	clear: right;
}

hr {
	background-color: #fff;
	border-top: 2px dashed #bbb;
	margin: 50px 10px;
}

.article h2, .article h3, .article h4, .article h5, .article h6 {
	margin: 1.4em 0.1em;
}

.wpcf7-form label {
	font-weight: bold;
}
.wpcf7-form label span {
	font-weight: none;
	font-size: 0.75rem;
	color: #CC0000;
}

table.course tr {
	white-space: nowrap;
}

.row {
    margin-bottom: 0;
}
.third {
    margin-left: 3.1914893617021276%;
    float: left;
    min-height: 1px;
}
.third {
    width: 31.205673758865245%;
}
.third:first-child {
    margin-left: 0;
}
.topbox {
    margin: 0;
    padding: 0;
}
.topbox .widget {
    margin: 0 0 150px;
}
.widget-title {
    color: #333;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: .05em;
    font-style: normal;
    margin: 0 0 10px;
    padding: 0 0 3px;
    border-bottom: 1px solid #ccc;
}
.textwidget, .textwidget p {
    font-size: 16px;
    color: #444;
    line-height: 160%;
    margin: 0;
    padding: 5px 0 0;
}
.margin-bottom30 {
    margin-bottom: 30px;
}
.margin-top30 {
    margin-top: 30px;
}

@media only screen and (max-width: 767px) {
    .row .third {
        margin-left: 0;
        width: 100%;
    }
    .topbox .widget {
        margin: 0 0 80px;
    }
    .textwidget, .textwidget p {
        font-size: 14px;
    }
	main.main {
		padding: 0;
	}
}
.row:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}
.row .topbox a {
	color: initial;
    text-decoration: initial;
} 
.center {
	text-align: center;
}
.top-profile .title {
	text-align: center;
	font-size: 1.25rem;
}
.top-profile .name {
	font-size: 1.5rem;
	margin-bottom: 10px;
}
ol li span {
	font-size:1.2rem;
}
ol {
  counter-reset:number; /*数字をリセット*/
  list-style-type: none!important; /*数字を一旦消す*/
  padding:0.5em;
}
ol li {
  position: relative;
  padding-left: 30px;
  line-height: 1.5em;
  padding: 0.5em 0.5em 0.5em 35px;
}

ol li:before{
  /* 以下数字をつける */
  position: absolute;
  counter-increment: number;
  content: counter(number);
  /*以下数字のデザイン変える*/
  display:inline-block;
  background: #5c9ee7;
  color: white;
  font-family: 'Avenir','Arial Black','Arial',sans-serif;
  font-weight:bold;
  font-size: 15px;
  border-radius: 50%;
  left: 0;
  width: 25px;
  height: 25px;
  line-height: 25px;
  text-align: center;
}

.btn-flat-simple {
  position: relative;
  display: inline-block;
  font-weight: bold;
  padding: 0.5em 0.5em;
  text-decoration: none;
  color: #FFF !important;
  background: #a7d6ff;
  transition: .4s;
}

.btn-flat-simple:hover {
  background: #00bcd4;
  color: white;
}
.header-tel span {
    display: block;
    font-weight: bold;
    font-size: 2.3rem;
    margin: 10px 0 0 0;
}



.footer-bottom-logo .logo-image{
	max-width:none;
}

.items {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.items .item {
  width: 50%;
	padding:8px;
	background-color: #FBEBEC;
}

p.text {
	padding: 16px !important;
}

.aiovg-videos-template-classic{
	display:none;
}

.box-store {
	display: inline-block;
    padding: 0.1em !important;
    margin: 1em 0;
    color: #565656;
    background: #ffeaea;
    box-shadow: 0px 0px 0px 5px #ffeaea;
    border: dashed 1px #ffc3c3;
    border-radius: 8px;
	margin: 8px 5px !important;
}
.box-store p {
    margin: 0; 
    padding: 0;
	font-size: 10px;
}
.youtube {
	width:100%;
}
#map-container {
    box-shadow: 1px 2px 5px rgba(0, 0, 0, 0.3);
    background: #fff;
}
/* .page-contents ul {
	padding: 0 !important;
} */
/* .virus {
	padding: 26px !important;
}
 */

/*---------------------------------
アコーディオンボックス
--------------------------------*/
.acbox{
  width: auto;
  font-size:0px; /* ラベルと開く部分を分離する時は数値を入れる */
  margin:0 10px; /* ボックス全体の位置調整 */
}

.acbox label{
  width: auto;
  font-size: 16px; /* ラベルの文字サイズ */
  font-weight: bold;
  text-align: center;
  background: #ffc6c6; /* ラベルの背景色 */
  position: relative;
  display: block;
  padding:8px;
  border-radius: 4px; /* ラベルの角の丸み */
  cursor: pointer;
  color: #fff;
}

.acbox label:hover{
  background: #ffc6c6; /* ラベルにマウスを乗せた時の背景色 */
}

.acbox input{
  display: none;
}

.acbox label:after{
  color: #fff;
  content:"▼"; /* ラベルのアイコン */
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -14px;
}

.acbox input:checked ~ label::after {
  content:"▲"; /* ラベルをクリックした後のアイコン */
}

.acbox div{
  height: 0px;
  overflow: hidden;
  opacity: 0;
  transition: 0.15s; /* 開閉スピードの設定 */
}

.acbox input:checked ~ div{
  height: auto;
  padding: 18px; /* 開いた部分の枠内の余白 */
  border-radius: 0px;
  background: #F3F4F5; /* 開いた部分の背景色 */
  opacity: 1;
}

.acbox input:checked ~ label {
  background: #ffc6c6; /* クリック後のラベルの背景色 */
}

.acbox-under{
  font-size: 15px; /* 開いた部分の文字サイズ */
  color: #555555; /* 開いた部分の文字色 */
}

h2.h2b {
  color: #ffffff;/*文字色*/
  border: solid 3px #ffc6c6;/*線色*/
  background-color: #ffc6c6;
  padding: 0.5em;/*文字周りの余白*/
  border-radius: 0.5em;/*角丸*/
  text-align: center;
}

.shopDetail th {
	white-space: nowrap;
}

.a-button.white {
    border-color: hsla(0,0%,100%,.5);
}

.btn-flat-border {
  display: inline-block;
  padding: 0.3em 1em;
  text-decoration: none;
  color: #fff;
  border: solid 2px #fff;
  border-radius: 3px;
  transition: .4s;
}

.btn-flat-border:hover {
  color: white;
}

.btn-flat-border2 {
  display: inline-block;
  padding: 0.3em 1em;
  text-decoration: none;
  color: #000;
  border: solid 2px #000;
  border-radius: 3px;
  transition: .4s;
}

.btn-flat-border2:hover {
  color: #000;
}

#menu-item-1229 {
	background-color: #00B900;
}
#menu-item-1229 a {
	color: #fff !important;
}
#menu-item-61 {
	background-color: #ff69b4;
}
#menu-item-61 a {
	color: #fff !important;
}
.home-menu-button {
	background-color: #00bfff;
}
.home-menu-button a {
	color: #fff !important;
}
.mobile-menu-buttons .menu-button>a {
	font-size : 30px;
	background-color : transparent;
}
.btn_submit input {
	background: #E95295;/* #FAF0F0;*/
	color: white;/*#00142c;*/
}
/* 背景色 */
