@charset "UTF-8";

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

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

.header-in {
  background-image: url(/wp-content/uploads/2020/06/header-bg.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.tagline {
  color: #fff;
  display: table;
  margin: 0 auto;
  padding: 3px 12px;
  background: rgba(0, 0, 0, 0.45);
  border-radius: 0 0 6px 6px;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
}
/* トップページ（固定ページ）では投稿日を出さない */
.home .date-tags {
  display: none;
}
#header .logo .site-name-text {
  color: #fff;
  text-shadow: 2px 2px 2px #000;
}

/* contact-page page */
.text-center { text-align: center; }
body.page-id-1352,
body.page-id-1355,
body.page-id-1358,
body.page-id-1364,
body.page-id-1375,
body.page-id-1378,
body.page-id-1382 {
  background-color: #fff !important;
}
body.page-id-1352 .mobile-footer-menu-buttons,
body.page-id-1355 .mobile-footer-menu-buttons,
body.page-id-1358 .mobile-footer-menu-buttons,
body.page-id-1364 .mobile-footer-menu-buttons,
body.page-id-1375 .mobile-footer-menu-buttons,
body.page-id-1378 .mobile-footer-menu-buttons,
body.page-id-1382 .mobile-footer-menu-buttons {
  display: none;
}
body.page-id-1352 #main,
body.page-id-1355 #main,
body.page-id-1358 #main,
body.page-id-1364 #main,
body.page-id-1375 #main,
body.page-id-1378 #main,
body.page-id-1382 #main {
  padding: 0;
}
body.page-id-1352 .content,
body.page-id-1355 .content,
body.page-id-1358 .content,
body.page-id-1364 .content,
body.page-id-1375 .content,
body.page-id-1378 .content,
body.page-id-1382 .content {
  margin-top: 0;
}
#contact-page {
  width: 100%;
  max-width: 750px;
  padding: 0;
  margin: 0 auto;
}
#contact-page .sitetitle-area {
  width: 100%;
  padding: 25px 0;
  margin: 0 auto;
}
#contact-page .sitetitle-area a {
  display: block;
  width: 250px;
  margin: 0 auto;
}
#contact-page .header-area {
  border-top: 120px solid #d90000;
  padding: 0;
  margin: 0 0 4% 0;
}
#contact-page .header-area .entry-title {
  width: 100%;
  text-align: center;
  font-family: serif;
  font-weight: bold;
  font-size: 30px;
  color: #fff;
  margin: -100px 0 20px 0;
}
#contact-page .header-area img {
  display: block;
  width: 100%;
  padding: 0 6%;
  margin: 0 auto;
}
#contact-page .entry-content form {
  text-align: center;
  padding: 0 6%;
}
#contact-page .entry-content form > p {
  display: inline-block;
  border-bottom: 1px solid #d90000;
  font-family: serif;
  font-weight: normal;
  font-size: 24px;
  color: #000;
  padding: 0 1em;
  margin: 0 0 2% 0;
}
#contact-page .entry-content form > p > span {
  font-size: 80%;
  color: #f00;
}
#contact-page .search-edit,
#contact-page input[type="text"], 
#contact-page input[type="password"], 
#contact-page input[type="date"], 
#contact-page input[type="datetime"], 
#contact-page input[type="email"], 
#contact-page input[type="number"], 
#contact-page input[type="search"], 
#contact-page input[type="tel"], 
#contact-page input[type="time"], 
#contact-page input[type="url"],
#contact-page input[type="file"],
#contact-page textarea {
  display: block;
  width: 80%;
  border: none;
  background-color: #e8e8e8;
  font-size: 14px;
  padding: 4px 8px;
  margin: 0 auto 0.5em auto;
  -webkit-appearance: none;
  border-radius: 0;
  margin-bottom: 2em;
}
#contact-page select {
  width: 80%;
  border: none;
  background-color: #e8e8e8;
  margin-bottom: 2em;
}
#contact-page textarea {
  width: 100%;
  margin-bottom: 2em;
}
#contact-page input[type="file"] {
  width: 15em;
  background-color: #fff;
}
#contact-page input[type='submit'] {
  width: 100%;
  text-align: center;
  background-color: #d90000;
  border: none;
  color: #fff;
  font-family: serif;
  font-size: 20px;
  padding: 1em;
  -webkit-appearance: none;
  border-radius: 0;
  margin-top: 2em;
}
#contact-page .group { margin-bottom: 2em; }
#contact-page .group .search-edit,
#contact-page .group input[type="text"], 
#contact-page .group input[type="password"], 
#contact-page .group input[type="date"], 
#contact-page .group input[type="datetime"], 
#contact-page .group input[type="email"], 
#contact-page .group input[type="number"], 
#contact-page .group input[type="search"], 
#contact-page .group input[type="tel"], 
#contact-page .group input[type="time"], 
#contact-page .group input[type="url"],
#contact-page .group input[type="file"],
#contact-page .group textarea,
#contact-page .group select {
  margin-bottom: 0;
}
#contact-page .meeting {
  width: 80%;
  padding: 0 1em;
  margin: 0 auto 2em auto;
}
#contact-page .meeting > p {
  text-align: center;
  font-size: 14px;
  color: #666;
  padding: 0.5em 0;
  margin: 0;
}
#contact-page .meeting .title {
  border-bottom: 1px solid #444;
  font-size: 100%;
  color: #000;
  margin: 0;
}
#contact-page .meeting > p > span {
  color: #f00;
}
#contact-page .meeting input {
  margin-bottom: 0.5em;
}
#contact-page .meeting select {
  margin-bottom: 0;
}
#contact-page .footer-line {
  border-bottom: 1px solid #000;
  border-top: 1px solid #000;
  padding: 2em 0;
}
#contact-page .footer-area {
  padding: 4%;
  margin: 0 auto;
}
#contact-page .footer-area ul {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
}
#contact-page .footer-area ul li {
  width: 50%;
  text-align: left;
  list-style: none;
  font-size: 18px;
  font-weight: bold;
  padding: 1.5% 0;
}
#contact-page .footer-area ul li a {
  color: #000;
  text-decoration: none;
}
#contact-page .footer-bottom {
  width: 100%;
  text-align: center;
  background-color: #000;
  color: #fff;
  font-size: 12px;
  padding: 0;
  margin: 0 auto;
}

#contact-page .wrap {
  padding: 2% 6% 4% 6%;
}
#contact-page .btn-red {
  display: block;
  overflow: hidden;
  width: 100%;
  height: 96px;
  background-color: #d90000;
  border: 1px solid #d90000;
  transition: all 0.5s;
  margin-bottom: 2em;
  text-decoration: none;
}
#contact-page .btn-red:hover {
  opacity: 1;
  background-color: #fff;
  transition: all 0.5s;
  border: 1px solid #d90000;
}
#contact-page .btn-red:hover > span { color: #d90000; }
#contact-page .btn-red > span {
  display: block;
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%); 
  font-family: serif;  
  text-align: center;
  text-decoration: none;
  line-height: 1.2;
  color: #fff;
  font-size: 30px;
  margin: 0;
}
#contact-page .complete > .wrap,
#contact-page .complete > .wrap > p {
    text-align: center;
    font-family: serif;
}


@media screen and (max-width: 415px){
  #contact-page .sitetitle-area a {
    width: 180px;
  }
  #contact-page .header-area .entry-title {
    font-size: 5vw;
  }
  #contact-page .entry-content form > p {
    font-size: 4vw !important;
    padding: 0 0.5em;
  }
  #contact-page .meeting {
    width: 100%;
  }
  #contact-page .meeting > p {
    font-size: 3.5vw !important;
  }
  #contact-page input[type='submit'] {
    font-size: 4vw;
  }
  #contact-page .btn-red {
    height: 72px;
  }
  #contact-page .btn-red > span {
    font-size: 4.5vw;
  }
  #contact-page .complete > .wrap,
  #contact-page .complete > .wrap > p {
    text-align: center;
    font-family: serif;
    font-size: 3vw;
  }
}

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

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

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

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

/* 記事のシェアボタン（共通部品 / _shared/components/share-button）
   色はサイトごとに下の4変数だけ上書きする。既定値は lounge-baito.com のもの。
   文字色は白地とホバー時の背景の両方でコントラスト4.5以上にすること。
   文字サイズは px で固定している。rem だとサイトの html の font-size に引きずられ、
   harumina.com（html{font-size:62.5%}=10px）では 15px のつもりが 9.4px になった。 */
.p-share {
	--share-color: #A8365C;      /* 文字・アイコン */
	--share-border: #FFD3DA;     /* 枠線 */
	--share-bg: #fff;            /* 背景 */
	--share-hover-bg: #FFF4F6;   /* ホバー時の背景 */
	margin: 40px 0 0;
	text-align: center;
}
.p-share__button {
	display: inline-flex;
	align-items: center;
	gap: .5em;
	padding: .7em 1.6em;
	border: 1px solid var(--share-border);
	border-radius: 999px;
	background: var(--share-bg);
	color: var(--share-color);
	font-family: inherit;
	font-size: 15px;            /* rem は使わない（冒頭の注記） */
	font-weight: 700;
	letter-spacing: .05em;      /* サイト側の広い字間を引き継がない */
	line-height: 1;
	cursor: pointer;
	transition: background-color .3s ease;
}
.p-share__button:hover {
	background: var(--share-hover-bg);
}
.p-share__button svg {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	fill: currentColor;
}
.p-share__done {
	margin: .6em 0 0;
	color: #787c82;
	font-size: 13px;
}
.p-share__done[hidden] {
	display: none;
}
/* tokyo-night-kyujin.com の色（白地 11.0:1 / ホバー背景 9.8:1） */
.p-share {
	--share-color: #2b3a67;
	--share-border: #c5cbe0;
	--share-hover-bg: #eef1f8;
	margin-bottom: 32px;        /* 直後の執筆者カードと離す */
}
/* 広告の上の「スポンサーリンク」ラベルを出さない */
.ad-label {
	display: none;
}

/* サイドバー（2026-10-26）：Cocoon標準の灰色の見出し帯をやめ、求人サイト寄りのすっきりした見た目に */
#sidebar .widget-sidebar-title {
	background: none;
	border-left: 4px solid #2b3a67;
	padding: 2px 0 2px 10px;
	font-size: 16px;
	color: #222;
}
.tnk-side-links {
	list-style: none;
	margin: 0;
	padding: 0;
}
.tnk-side-links li {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #eceef2;
}
.tnk-side-links a {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px 4px;
	color: #222;
	text-decoration: none;
	font-size: 15px;
	line-height: 1.4;
}
.tnk-side-links a::after {
	content: "\203A";
	margin-left: 4px;
	color: #9aa0ac;
	font-size: 18px;
}
.tnk-side-links a:hover {
	background: #f6f7fa;
}
.tnk-side-name {
	font-weight: 700;
}
.tnk-side-desc {
	margin-left: auto;
	color: #6b7280;
	font-size: 12px;
}
.tnk-side-more {
	margin: 10px 0 0;
	text-align: right;
	font-size: 13px;
}
.tnk-side-more a {
	color: #2b3a67;
}
.tnk-side-cta {
	padding: 18px 16px;
	border: 1px solid #b7e5c8;
	border-radius: 10px;
	background: #f2fbf5;
	text-align: center;
}
.tnk-side-cta__lead {
	margin: 0 0 6px;
	font-size: 16px;
	font-weight: 700;
	color: #222;
}
.tnk-side-cta__text {
	margin: 0 0 12px;
	font-size: 13px;
	line-height: 1.6;
	color: #444;
	text-align: left;
}
.tnk-side-cta__btn {
	display: block;
	padding: 12px;
	border-radius: 8px;
	background: #06C755;
	color: #fff !important;
	font-weight: 700;
	text-decoration: none;
}

/* トップページのエリアカード（2026-11-01） */
.tnk-area-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 16px;
	margin: 16px 0 8px;
}
.tnk-area-card {
	display: flex;
	flex-direction: column;
	border: 1px solid #e5e5e5;
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
	color: #333 !important;
	text-decoration: none !important;
}
.tnk-area-card img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16/9;
	object-fit: cover;
}
.tnk-area-card__body {
	display: block;
	padding: 12px 14px 14px;
}
.tnk-area-card__name {
	display: block;
	margin-bottom: 4px;
	font-size: 18px;
	font-weight: 700;
}
.tnk-area-card__desc {
	display: block;
	font-size: 14px;
	line-height: 1.6;
	color: #555;
}
.tnk-area-card--more {
	grid-column: 1 / -1;
	justify-content: center;
	border-style: dashed;
	background: #f6f7fb;
	text-align: center;
}
.tnk-area-card--more .tnk-area-card__name::after {
	content: " →";
}
@media screen and (max-width: 600px) {
	.tnk-area-cards {
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}
	.tnk-area-card__body {
		padding: 8px 10px 10px;
	}
	.tnk-area-card__name {
		margin-bottom: 2px;
		font-size: 16px;
	}
	.tnk-area-card__desc {
		font-size: 12px;
		line-height: 1.5;
	}
}

/* ブログ感を減らす（2026-11-08） */
/* スマホ下部のボタン：エリア／上京・出稼ぎ／LINEで相談 */
.mobile-footer-menu-buttons {
	box-shadow: 0 -2px 8px rgba(0, 0, 0, .08);
}
.mobile-footer-menu-buttons .menu-button {
	flex: 1 1 0;
}
ul.mobile-footer-menu-buttons li.menu-button a.menu-button-in {
	color: #2b3a67;
}
.mobile-footer-menu-buttons .menu-caption {
	font-size: 11px;
	font-weight: 700;
}
.mobile-footer-menu-buttons .menu-button:has(a[href*="s.lmes.jp"]) {
	flex: 1.3 1 0;
}
ul.mobile-footer-menu-buttons li.menu-button a[href*="s.lmes.jp"] {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin: 5px 8px;
	border-radius: 8px;
	background: #06C755;
	color: #fff;
}
.mobile-footer-menu-buttons a[href*="s.lmes.jp"] .menu-icon {
	font-size: 15px;
	line-height: 1.2;
}
.mobile-footer-menu-buttons a[href*="s.lmes.jp"] .menu-caption {
	font-size: 12px;
	line-height: 1.3;
}
/* 固定ページ（エリアガイド・上京ガイド・運営者情報など）は日付を出さない */
.page .date-tags {
	display: none;
}
/* 見出し：Cocoon標準のグレーの帯をやめる */
.article h2 {
	padding: 12px 16px;
	border-left: 6px solid #2b3a67;
	border-radius: 0;
	background: #eef1f8;
	color: #1f2a4d;
	font-size: 22px;
	line-height: 1.5;
}
.article h3 {
	padding: 4px 0 8px;
	border: 0;
	border-bottom: 2px solid #c5cbe0;
	background: none;
	color: #1f2a4d;
	font-size: 19px;
}
@media screen and (max-width: 600px) {
	.article h2 {
		padding: 10px 12px;
		font-size: 19px;
	}
	.article h3 {
		font-size: 17px;
	}
}

/* ヘッダー（2026-11-08）：白地にロゴ＋メニュー。スマホは上にロゴとハンバーガー */
.header-container {
	border-bottom: 1px solid #e3e6ef;
	background: #fff;
}
.header,
.header-in {
	background: #fff;
}
/* ロゴ画像（tnk_logo.png、676×96。表示は半分以下に縮める） */
.logo-header .site-logo-image {
	width: auto;
	max-width: 100%;
	height: 40px;
}
.logo-footer .site-logo-image {
	width: auto;
	height: 32px;
}
.logo-menu-button img {
	width: auto;
	max-width: 100%;
	height: 28px;
}
/* PCのメニュー：最後の「LINEで相談」を緑のボタンに */
#navi .navi-in > ul {
	justify-content: flex-end;
	align-items: center;
	flex-wrap: nowrap;
}
#navi .navi-in > ul > li {
	width: auto;
}
#navi .navi-in > ul > li > a {
	padding: 0 14px;
	font-size: 15px;
	white-space: nowrap;
}
#navi .navi-in a {
	color: #1f2a4d;
	font-weight: 700;
}
#navi .navi-in a[href*="s.lmes.jp"] {
	margin: 0 0 0 10px;
	padding: 0 20px;
	height: 44px;
	line-height: 44px;
	border-radius: 8px;
	background: #06C755;
	color: #fff;
}
@media screen and (max-width: 1279px) {
	/* 上のバーと重なる、元のヘッダーとメニューは出さない */
	.header-container,
	#header,
	#navi {
		display: none;
	}
	.mobile-header-menu-buttons {
		border-bottom: 1px solid #e3e6ef;
		background: #fff;
		box-shadow: none;
	}
	.mobile-header-menu-buttons .search-menu-button {
		display: none;
	}
	.mobile-header-menu-buttons .logo-menu-button {
		order: 1;
		flex: 1 1 auto;
		justify-content: flex-start;
		padding-left: 14px;
	}
	.mobile-header-menu-buttons .logo-menu-button .menu-button-in {
		justify-content: flex-start;
		font-size: 17px;
	}
	.mobile-header-menu-buttons .navi-menu-button {
		order: 2;
		flex: 0 0 64px;
	}
	.mobile-header-menu-buttons .navi-menu-button .menu-button-in {
		color: #1f2a4d;
	}
	/* ハンバーガーで開くメニュー */
	.mobile-header-menu-buttons .navi-menu-content {
		right: 0;
		left: auto;
		-webkit-transform: translateX(105%);
		transform: translateX(105%);
	}
	#navi-menu-input:checked ~ #navi-menu-content {
		-webkit-transform: translateX(0%);
		transform: translateX(0%);
	}
	.navi-menu-content .menu-close-button {
		padding: 10px 18px 6px;
		color: #1f2a4d;
		font-size: 24px;
		text-align: right;
	}
	.navi-menu-content .menu-drawer a {
		padding: 14px 18px;
		border-bottom: 1px solid #eef0f5;
		color: #1f2a4d;
		font-weight: 700;
	}
	.navi-menu-content .menu-drawer a[href*="s.lmes.jp"] {
		margin: 16px;
		border: 0;
		border-radius: 8px;
		background: #06C755;
		color: #fff;
		text-align: center;
	}
}

/* トップページのメイン画像（Cocoonのアピールエリア、2026-11-08） */
.appeal {
	position: relative;
	background-position: 72% center;
	background-size: cover;
}
.appeal::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(14, 20, 40, .85) 0%, rgba(14, 20, 40, .55) 45%, rgba(14, 20, 40, 0) 75%);
}
.appeal-in {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 440px;
}
.appeal .appeal-content {
	max-width: 560px;
	margin: 0;
	padding: 32px 24px;
	border: 0;
	background: none;
	color: #fff;
	text-align: left;
}
.appeal .appeal-title {
	margin-bottom: 16px;
	color: #fff;
	font-size: 36px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: .03em;
}
.appeal .appeal-message {
	font-size: 16px;
	line-height: 1.8;
}
.appeal .tnk-hero-text {
	margin: 0 0 24px;
	color: rgba(255, 255, 255, .92);
}
.tnk-hero-btns {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
.tnk-hero-btn {
	display: inline-block;
	padding: 14px 28px;
	border-radius: 8px;
	font-size: 16px;
	font-weight: 700;
	text-decoration: none !important;
}
.tnk-hero-btn--area {
	background: #c9a54a;
	color: #1f2a4d !important;
}
.tnk-hero-btn--line {
	background: #06C755;
	color: #fff !important;
}
@media screen and (max-width: 1023px) {
	.appeal-in {
		min-height: 380px;
	}
}
@media screen and (max-width: 600px) {
	.appeal {
		background-position: 86% center;
	}
	.appeal::before {
		background: linear-gradient(90deg, rgba(14, 20, 40, .85) 0%, rgba(14, 20, 40, .6) 60%, rgba(14, 20, 40, .25) 100%);
	}
	.appeal-in {
		align-items: flex-end;
		min-height: 400px;
	}
	.appeal .appeal-content {
		padding: 24px 16px 28px;
	}
	.appeal .appeal-title {
		font-size: 24px;
	}
	.appeal .appeal-message {
		font-size: 14px;
	}
	.appeal .tnk-hero-text {
		margin-bottom: 18px;
	}
	.tnk-pc-br {
		display: none;
	}
	.tnk-hero-btn {
		flex: 1 1 0;
		padding: 13px 8px;
		font-size: 15px;
		text-align: center;
	}
}

/* エリアカードが奇数のとき、スマホ（2列）では「エリアの選び方」を最後のカードの隣に置く */
@media screen and (max-width: 600px) {
	.tnk-area-card--more:nth-child(even) {
		grid-column: auto;
	}
}

/* トップの「ほかのエリア」（2026-11-08。カードは主要6エリアだけにして、残りは小さなリンクにまとめる） */
.tnk-area-subhead {
	margin: 20px 0 8px !important;
	font-size: 15px;
	font-weight: 700;
	color: #1f2a4d;
}
.tnk-area-chips {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
}
.tnk-area-chip {
	display: block;
	padding: 10px 12px;
	border: 1px solid #e3e6ef;
	border-radius: 8px;
	background: #fff;
	color: #333 !important;
	text-decoration: none !important;
}
.tnk-area-chip:hover {
	border-color: #c5cbe0;
	background: #eef1f8;
}
.tnk-area-chip__name {
	display: block;
	font-size: 16px;
	font-weight: 700;
	color: #1f2a4d;
}
.tnk-area-chip__name::after {
	content: " ›";
	color: #c5cbe0;
}
.tnk-area-chip__desc {
	display: block;
	font-size: 12px;
	line-height: 1.4;
	color: #666;
}
.tnk-area-cards--more {
	margin-top: 12px;
}
@media screen and (max-width: 600px) {
	.tnk-area-chips {
		grid-template-columns: repeat(2, 1fr);
	}
	.tnk-area-chip {
		padding: 8px 10px;
	}
}

/* ハンバーガーに切り替える幅を1279px以下に広げる（2026-11-08）。
   ロゴ＋メニューが1行に収まるのは約1,250px以上で、1024〜1279pxではPCのヘッダーが横にはみ出していた。
   Cocoonは1023px以下でしか上部ボタンを出さないので、1024〜1279pxでは上部ボタンだけを出す（下部ボタンとサイドバーはPCのまま） */
@media screen and (min-width: 1024px) and (max-width: 1279px) {
	.mobile-header-menu-buttons {
		display: flex;
		align-items: stretch;
		top: var(--wp-admin--admin-bar--height, 0px);
		bottom: auto;
		justify-content: space-between;
		min-width: 46px;
	}
	.mobile-header-menu-buttons .logo-menu-button {
		flex-grow: 1;
	}
	body.mblt-header-and-footer-mobile-buttons {
		margin-top: var(--cocoon--mobile-header-menu-buttons--height, 50px);
	}
}
