/*-----------------------------
	BASE
------------------------------*/
body {
	font-size: 100%;
	min-width: 320px;
}
p {
	margin-bottom: 25px;
}
.pc {
	display: none!important;
}
.sp {
	display: inherit!important;
}
.center--pc {
	text-align: left;
}

/*-----------------------------
	基本レイアウト
------------------------------*/
#container {
	padding-top: 111px; /* 固定ヘッダー分 */
}
.content-range {
}
.content-range--tite {
	padding: 0 30px;
}

/*-----------------------------
	header ヘッダー
------------------------------*/
#header {
	width: 100%;
	min-width: 320px;
	height: 101px;
	position: fixed;
	z-index: 9999;
	left: 0;
	top: 0;
	box-shadow: 0 1px 3px #ddd;
	box-sizing: content-box;
}
.header__main {
	padding: 6px 15px;
}
.header__logo {
	width: calc(100% - 55px);
	justify-content: flex-start;
}
.header__logo-tokyo {
	width: 50px;
	padding-top: 4px;
}
.header__logo-main {
	width: calc(100% - 50px);
	padding-left: 10px;
	max-width: 300px;
}
.header__navi {
	width: auto;
	margin-top: 8px;
	padding-left: 0;
}
.header__navi-btn {
	padding: 0;
}
.navbar-toggle {
	z-index: 9999;
}
.navbar-toggle-icon {
	position: relative;
	display: block;
	height: 2px;
	width: 30px;
	margin: 0 auto;
	background-color: blue;
	-webkit-transition: ease .5s;
	transition: ease .5s;
}
.navbar-toggle-icon:nth-child(1) {
	top: 0;
}
.navbar-toggle-icon:nth-child(2) {
	margin-top: 8px;
	margin-bottom: 8px;
}
.navbar-toggle-icon:nth-child(3) {
	top: 0;
}
.header-nav:hover .navbar-toggle-icon {
}
.navbar-toggle.open .navbar-toggle-icon {
	width: 32px;
}
.navbar-toggle.open .navbar-toggle-icon:nth-child(1) {
	top: 10px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.navbar-toggle.open .navbar-toggle-icon:nth-child(2) {
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	opacity: 0;
}
.navbar-toggle.open .navbar-toggle-icon:nth-child(3) {
	top: -9.5px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.search-form-hamburger {
	display: block;
	margin: 10px auto 0;
}
.header__main .search-form-in-page {
	margin: 0;
}

.drawer-overlay {
	visibility: hidden;
	position: absolute;
	width: 100%;
	transform: translateX(100%);
	transition: ease .5s;
	z-index: 1000;
	right: 0;
	/* top: 52px; */
	top: 101px;
	width: 100%;
	background-color: #fff;
}
.drawer-overlay.open {
	visibility: visible;
	transform: translateX(0);
	overflow-y: scroll;
	/* height: calc(100vh - 52px); */
	height: calc(100vh - 101px);
}
.global-navi {
	/* margin-top: 15px; */
	line-height: 1.3;
}
.global-navi-list {
	padding-right: 0;
	overflow: hidden;
}
.global-navi-list-item {
	display: block;
	margin: 0;
}
.global-navi-list-item a {
	padding: 25px 0 25px 30px;
}
.global-navi-list-item a:hover {
	background-color: #F5F5F5;
}
.global-navi-list-item > a {
	position: relative;
	display: inline-flex;
	align-items: baseline;
	width: 100%;
	box-sizing: border-box;
}
.global-navi-list-item > a:before {
	position: absolute;
	content: "";
	right: 15px;
	top: calc(50% - 4px);
	width: 6px;
	height: 6px;
	border-top: 3px solid #1C1C1C;
	border-right: 3px solid #1C1C1C;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.global-navi-list-item .global-navi-list-item__title {
	font-size: 112.5%;
}
.global-navi-list-item--about .global-navi-list-item__title,
.global-navi-list-item--adviser .global-navi-list-item__title,
.global-navi-list-item--event .global-navi-list-item__title,
.global-navi-list-item--pickup .global-navi-list-item__title {
	font-size: 175%;
}
.global-navi-sub-list-heading {
	display: block;
	font-size: 112.5%;
	margin-top: 20px;
	padding-left: 30px;
}
.global-navi-list-item--post {
	display: block;
	float: none;
	margin-top: 0;
	margin-right: 0;
}
.global-navi-sub-list {
	display: block;
}
.global-navi-sub-list-item {
	margin-left: 0;
	padding-right: 30px;
}
.global-navi-sub-list-item a {
	display: block;
	padding: 15px 0 15px 55px;
}
.global-navi-sub-list-item__title {
	position: relative;
	font-size: 250%;
	text-decoration-thickness: 2px;
}
.global-navi-sub-list-item__title:before {
	position: absolute;
	content: "";
	width: 15px;
	height: 1px;
	background-color: #1C1C1C;
	top: calc(50% - 0.5px);
	left: -20px;
}
.global-navi-list-item a:hover .global-navi-list-item__title,
.global-navi-list-item a:hover .global-navi-sub-list-item__title {
	position: relative;
	top: 2px;
}
.global-navi-list-item__caption,
.global-navi-sub-list-item__caption {
	display: block;
	font-size: 87.5%;
}
.global-navi-list-item__caption {
	margin-left: 10px;
}
.global-navi-list-item .global-navi-list-item__link {
	display: block;
}
.global-navi-list-item .global-navi-list-item__link .global-navi-list-item__caption {
	margin-left: 0;
}
.header__sns {
	position: static;
	padding: 30px 0;
	background-color: #E7EEF8;
}
.header__sns .sns-list-item {
	margin-left: 10px;
	margin-right: 10px;
}


.ruby-sp-wrapper {
	background: #ECF1F8;
	padding: 14px;
	display: flex;
	justify-content: center;
}
.ruby-wrapper {
	position: static;
}
.ruby-toggle-label {
	z-index: 2;
}
.ruby-toggle-slider {
  pointer-events: none; /* ← これを追加して、スマホでラベルがタップ可能に */
}

/*-----------------------------
	breadcrumb パンくず
------------------------------*/
#breadcrumb {
	font-size: 62.5%;
	padding-top: 8px;
	padding-bottom: 5px;
}

/*-----------------------------
	フッター footer
------------------------------*/
#footer {
	margin-top: 50px;
	padding-top: 30px;
}
#footer .content-range {
	padding: 0 30px;
}
.footer__logo {
	margin-bottom: 30px;
	width: 135px;
}
.footer__navi-list {
	display: block;
	margin-bottom: 25px;
}
.footer__navi-list-item {
	margin-bottom: 10px;
}
.footer__navi-list-item:last-child {
	margin-bottom: 0;
}
.footer__contact-item {
	margin-right: 0;
	display: block;
}

#pagetop {
	right: 10px;
	bottom: 10px;
}
.pagetop-btn {
	width: 68px;
	height: 68px;
}

#banner-area {
	right: 0;
	width: 90px;
	bottom: 90px;
}
.banner-area__close {
	top: -10px;
	left: -9px;
	right: auto;
	bottom: auto;
}
.banner-area__items--category {
	display: none;
}

/*-----------------------------
	共通コンポーネント
------------------------------*/
/*
	見出し
*/
.page-title {
}
.page-title--alphabet {
	font-size: 250%;
}
.heading-category {
	justify-content: start;
	margin: 40px 0 15px;
}
.heading-category__title {
}
.heading-caption {
}
.heading-caption--margin-bottom-s {
}
/*
	section
*/
.section {
	padding: 40px 0;
}
.section--main {
	padding: 20px 0;
}
/*
	btn ボタン
*/
.btn {
	max-width: 100%;
}
.btn--pickup-program-link {
	margin-top: 20px;
	float: right;
}
/*
	pr-box
*/
.pr-box {
	width: auto;
	max-width: 350px;
	margin: 20px auto;
	padding: 30px 15px;
}
.pr-box-wrap--2col {
	display: block;
}
.pr-box-wrap--2col .pr-box {
	margin: 20px auto;
}
/*
	post-cat
	post-type
*/
.post-cat,
.post-type {
	margin-right: 5px;
	padding: 3px 6px;
}
/*
	stepbar
*/
.stepbar-list-item {
	max-width: 120px;
	width: calc(100% / 3);
	box-sizing: border-box;
}
/*
	toggle トグル
*/
.toggle-item__btn,
.toggle-item__content {
	font-size: 87.5%;
}
.toggle-item__btn:after {
	top: calc(50% - 16px);
}

/*-----------------------------
	category-list 
------------------------------*/
.category-list {
	display: block;
}
.category-list-item {
	width: auto;
	margin-bottom: 10px;
}

/*-----------------------------
	article-list 
------------------------------*/
.article-list {
	display: block;
}
.article-list-item {
	width: auto;
	margin-bottom: 25px;
}
.article-list-item:last-child {
	margin-bottom: 0;
}
.article-list--related-post .article-list-item {
	width: auto;
	margin-right: 0;
	margin-bottom: 25px;
}
.article-list--3col .article-list-item {
	width: auto;
	margin-right: 0;
	margin-bottom: 25px;
}
.article-list-item a {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.article-list-item__img {
	width: 40%;
}
.article-list-item__title {
	font-size: 87.5%;
}
.article-list-item__content {
	width: 56%;
}
.article-list--pickup {
	overflow: initial;	
}
.article-list--pickup .article-list-item {
	width: auto;
	margin-left: 0;
	margin-bottom: 25px;
}
.article-list--pickup .article-list-item:first-child {
	width: auto;
	margin-left: 0;
	margin-bottom: 25px;
	float: none;
}
.article-list--pickup .article-list-item:first-child .article-list-item__img {
	width: 100%;
}
.article-list--pickup .article-list-item:first-child .article-list-item__img img {
	display: block;
	aspect-ratio: 1 / 1;
}
.article-list--ranking .article-list-item__img {
	width: 102px;
	margin-bottom: 0;
}
.article-list--ranking .article-list-item__content {
	width: calc(100% - 102px);
}

/*-----------------------------
	agency-list 
------------------------------*/
.agency-list {
	display: block;
}
.agency-list-item {
	width: auto;
	margin-bottom: 15px;
	padding: 20px;
}

/*-----------------------------
	event-list 
------------------------------*/
.event-list {
}
.event-list:after {
	display: none;
}
.event-list-item {
	width: 48%;
	margin-bottom: 35px;
}
.event-list-item__img img {
	height: 100px;
}
.event-list-item__date {
	font-size: 60%;
}
.event-list-item__date-pickup {
	font-size: 160%;
	margin-left: 2px;
}
.event-list-item__title {
	font-size: 75%;
}
.event-list-item__option-list .event__option-list-item {
	margin-bottom: 5px;
}
.event-list-item__option-list .event__option-list-item:last-child {
	margin-bottom: 0;
}

/*-----------------------------
	adviser-list 
------------------------------*/
.adviser-list {
	display: block;
}
.adviser-list-item {
	width: 100%;
	margin-bottom: 30px;
	padding: 15px;
}
.adviser-list-item__img {
	width: 100px;
}
.adviser-list-item__content {
	width: calc(100% - 100px);
	padding-left: 15px;
}

/*-----------------------------
	news-list 
------------------------------*/
.news-list-wrap {
	padding: 15px;
}
.news-list-item__title {
	margin-top: 5px;
	width: 100%;
}

/*-----------------------------
	問い合わせページ page-contact 
------------------------------*/
.page-contact h2 {
	font-size: 125%;
}
.contact-faq-section h3 {
	font-size: 100%;
}
.faq-item .faq__q,
.faq-item .faq__a {
	padding-left: 45px;
}
.faq-item .faq__q .heading,
.faq-item .faq__a .heading {
	left: 15px;
}

/*-----------------------------
	character-list 
------------------------------*/
.character-list {
	display: block;
}
.character-list-item {
	width: auto;
	margin-bottom: 30px;
}
/*-----------------------------
	single-common-post article 記事共通
------------------------------*/
.article-header {
	padding: 25px 0 30px;
}
.article-header__caption1 {
	font-size: 87.5%;
}
.article-header__title {
	font-size: 125%;
}
.article-header__content {
  left: 15px;
  width: calc(100% - 30px);
}
.article-sns-list {
	margin-top: 30px;
}
.article-header__ad {
	margin-top: 15px;
}
.article-main {
	padding: 30px 0 50px;
}
.single-interview .article-main {
	margin: 0 15px;
}
.single-interview .article-main-head {
	margin: 0 15px 30px;
	padding: 20px 5px;
}
.article-main-head-item__title {
	font-size: 162.5%;
}
.article-main-head-item__interviewee-img {
	width: 110px;
}
.article-main-head-item__interviewee-content {
  width: calc(100% - 110px);
  padding-left: 15px;
}
.article-main__point,
.article-main__subject {
	margin-bottom: 50px;
}
.article-main__point-title,
.article-main__subject-title {
	text-align: center;
	font-size: 112.5%;
	font-weight: bold;
	margin-bottom: 12px;
}
.article-main__character {
	padding: 0 10px;
}
.mokuji-list {

}
.mokuji-list-item {
	margin-bottom: 5px;
}
.mokuji-list-item:last-child {
	margin-bottom: 0;
}
.mokuji-list-item a {
	font-size: 87.5%;
}
.article-main__subject-item-title {
	display: block;
	margin-bottom: 10px;
	padding: 15px;
	line-height: 1.4;
	background-color: #E7EEF8;
}
.article-main__subject-item-description {
	margin-bottom: 30px;
}
.article-main__content .parts-point {
	padding: 15px;
}
.article-main__content .parts-point__title {
	font-size: 162.5%;
	margin-bottom: 15px;
}
.article-main__content .parts-point-item__title {
	padding: 5px;
	background-color: #EBFA80;
	text-align: center;
	margin-bottom: 15px;
}
.article-footer {
	padding: 0 0 50px;
}
.article-footer__tag {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding: 20px 0;
	border-bottom: dashed 1px #1C1C1C;
}
.article-footer__tag-title {
	width: 3em;
}
.article-footer__tag-content {
	width: calc(100% - 3em);
}
.article-footer__tag-content .tag-list {
	display: flex;
	flex-wrap: wrap;
}
.article-footer__tag-content .tag-list-item {
}
.article-footer__tag-content .tag-list-item a {
}
.article-footer__tag-content .tag-list-item a:hover {
}

/*-----------------------------
	page-template-archive アーカイブ共通
------------------------------*/
.category-anchor-list {
	justify-content: space-between;
}
.category-anchor-list-item {
	width: 49%;
	margin: 0 0 2%;
}
.category-anchor-list-item:nth-child(5n) {
	margin-right: 0;
}
.category-anchor-list-item a {
	padding: 15px 10px;
}
.category-anchor-list-item a:before {
	right: 10px;
}
.category-description {
	text-align: left;
	margin-bottom: 25px;
}
.category-description--subject {
	font-size: 87.5%;
	padding: 0 15px;
}

/*-----------------------------
	投稿aside共通 single-aside
------------------------------*/
.single-aside {
}
.single-aside-writer {
}
.single-sos .single-aside-adviser-and-movie {
}
.single-aside--pr {
}
.single-aside-item {
}
.single-aside-item:last-of-type {
}
.single-aside-title-box {
}
.single-aside-title {
	font-size: 125%;
}
.single-aside-title--alphabet {
	font-size: 162.5%;
}
.single-aside-title-caption {
	font-size: 87.5%;
	margin-bottom: 20px;
}
.single-aside-writer__title {
	margin-bottom: 20px;
}
.single-aside-writer__title-main {
	color: #012BB7;
	font-size: 125%;
}
.single-aside-writer__title-sub {
	margin-left: 10px;
}
.single-aside-writer__item {
	margin-bottom: 20px;
}
.single-aside-writer__item:last-of-type {
	margin-bottom: 0;
}
.single-aside-writer__item dt {
	margin-bottom: 10px;
}
.single-aside-writer__name {
	display: block;
	font-size: 125%;
}
.single-aside-writer__info {
	display: block;
	font-size: 87.5%;
}
.single-aside-writer__description {
	font-size: 87.5%;
	line-height: 1.6;
}
.single-aside-writer__description p {
	margin-bottom: 20px;
}
.single-aside-writer__description p:last-of-type {
	margin-bottom: 0;
}
.single-aside-adviser__item {
	padding: 25px;
}
.single-aside-adviser__item:last-of-type {
	margin-bottom: 0;
}
.single-aside-adviser__img {
	width: 100px;
}
.single-aside-adviser__img img {
	display: block;
	width: 100px;
	height: 100px;
}
.single-aside-adviser__content {
	width: calc(100% - 100px);
	padding-left: 20px;
	box-sizing: border-box;
}
.single-aside-adviser__info {
	display: block;
	font-size: 87.5%;
}
.single-aside-adviser__name {
	display: block;
	font-size: 125%;
	padding-bottom: 5px;
}
.single-aside-adviser__description {
	padding-top: 10px;
	border-top: solid 1px #C7C7C7;
	font-size: 87.5%;
}
.single-aside-adviser__description p:last-of-type {
	margin-bottom: 0;
}
.single-aside-movie__youtube {
	margin-bottom: 10px;
}
.single-aside-movie__description {
	font-size: 75%;
	line-height: 1.5;
	margin-bottom: 0;
}
.single-aside-related-post .event-list-item:nth-child(4) {
	display: inherit;
}

/*-----------------------------
	お知らせ詳細 single-information
------------------------------*/
.article--news {
	padding: 15px 0 50px;
}
.article--news .article-main {
	padding: 20px 0;
}
.article--news .article-main__header-title {
	font-size: 125%;
}
.article--news .article-bottom {
	margin-top: 35px;
}

/*-----------------------------
	用語解説 single-word 
------------------------------*/
.article--word .article-main__header-title {
	font-size: 120%;
}
.article--word .article-main__content {
	padding: 30px 20px;
}
.article--word .article-main__content-title {
	font-size: 125%;
}

/*-----------------------------
	page-template-normal 固定ページ共通
------------------------------*/
.page-template-page-template-normal .page-content .accessibility-table th,
.page-template-page-template-normal .page-content .accessibility-table td {
	font-size: 65%;
	padding-left: 5px;
	padding-right: 5px;
}
.page-template-page-template-normal .page-content .accessibility-table th:nth-child(1),
.page-template-page-template-normal .page-content .accessibility-table td:nth-child(1) {
	width: calc(4em + 8px);
}
.page-template-page-template-normal .page-content .accessibility-table th:nth-child(2),
.page-template-page-template-normal .page-content .accessibility-table td:nth-child(2) {
	width: calc(3em + 8px);
}
.page-template-page-template-normal .page-content .accessibility-table th:nth-child(4),
.page-template-page-template-normal .page-content .accessibility-table td:nth-child(4),
.page-template-page-template-normal .page-content .accessibility-table th:nth-child(5),
.page-template-page-template-normal .page-content .accessibility-table td:nth-child(5) {
	width: calc(2em + 8px);
}
.page-content-box {
	padding: 40px 20px;
}

/*-----------------------------
	front-page home トップページ
------------------------------*/
.page-home--add-ranking {
	min-width: auto;
}
.section-front-page {
	padding: 40px 0;
}
.section-front-page h2 {
	font-size: 250%;
	margin-bottom: 5px;
}
#front-slider-area {
	overflow: initial;
}
.section-front-page-top {
	padding-top: 20px;
	overflow: hidden;
}
.section-front-page-top__banner {
	margin-bottom: 30px;
}
.section-front-page-top__logo {
	margin-bottom: 20px;
}
.section-front-page-top__logo img {
	width: 260px;
}
.section-front-page-top__description {
	font-size: 110%;
}
.section-front-page-tag {
	padding-top: 0;
}
.front-page-section-navi-list {
	flex-direction: row;
}
.front-page-section-navi-list-item {
	width: 100%;
	margin-bottom: 15px;
	text-align: left;
}
.front-page-section-navi-list-item__title {
	font-size: 125%;
}
.front-page-section-navi-list-item__title:after {
	top: 12px;
}
.front-page-section-navi-list-item__description {
	margin-top: 5px;
	line-height: 1.5;
}
.swiper-pagination-bullet {
    width: 12px!important;
    height: 12px!important;
}
.swiper-pagination-clickable .swiper-pagination-bullet {
    margin: 0 12px!important;
}
.swiper-stopbtn .material-icons {
    font-size: 125%;
}
.swiper-button .material-icons {
    font-size: 125%;
}
.front-page-archive-area--sp {
	display: block;
	margin-top: 30px;
}
.front-page-archive-area-main {
	width: auto;
}
.front-page-archive-area-side {
	display: none;
}
.front-page-archive-area-side-in {
}
.front-page-archive-area .section-front-page-post {
	padding-left: 0;
	padding-right: 0;
}
.front-page-archive-area .section-front-page-post .content-range {
	margin-right: 0;
}

/*-----------------------------
	サイトマップ page-sitemap 
------------------------------*/
.sitemap-wrap {
	display: block;
}
.sitemap-item {
	width: auto;
}
.page-sitemap .page-content .sitemap-item ul {
	margin-bottom: 10px;
}

/*-----------------------------
	アバウトページ page-about 
------------------------------*/
.section-about-page {
	padding: 40px 0 60px;
	text-align: center;
}
.section-about-page h1,
.section-about-page h2 {
	font-size: 250%;
}
.section-about-page-top__content {
	padding-bottom: 80px;
}
.section-about-page-top__content-header {
	margin-bottom: 40px;
}
.section-about-page-top__content-header-copy {
	font-size: 150%;
}
.section-about-page-top--bg-circle {
	width: 200px;
}
.section-about-page-top--bg-circle1 {
	top: -195px;
	left: -35px;
}
.section-about-page-top--bg-circle2 {
	top: 100px;
	right: -35px;
}
.section-about-page-top--bg-circle3 {
	bottom: 60px;
	left: -45px;
}
.section-about-page-top--bg-heart {
	width: 108px;
}
.section-about-page-annotation {
	padding-bottom: 50px;
}
.section-about-page-annotation h2 {
	font-size: 100%;
	text-align: center;
	margin-bottom: 20px;
	padding: 10px 0;
}
.annotation-list-item {
	padding-bottom: 10px;
	margin-bottom: 20px;
}
.annotation-list-item:last-child {
	margin-bottom: 0;
}
.annotation-list-item dt {
	font-size: 100%;
	margin-bottom: 5px;
}
.annotation-list-item dd {
}

/*-----------------------------
	特集ページ page-pickup 
------------------------------*/
.page-pickup .page-title-caption {
	margin-bottom: 25px;
}
.pickup-heading-main {
	font-size: 150%;
}
.pickup-heading-sub {
	text-align: center;
	font-size: 112.5%;
	margin: 40px 0;
}
.pickup-heading-sub--program {
	margin: 20px 0;
}
.pickup-program-list {
	margin-bottom: 70px;
}
.pickup-program-list-item {
	display: block;
	padding: 30px 0;
}
.pickup-program-list-item__img {
	display: block;
	width: 100%;
	max-width: 400px;
	margin: 0 auto 15px;
}
.pickup-program-list-item__img img {
}
.pickup-program-list-item__content {
	width: 100%;
	padding-left: 0;
	overflow: hidden;
}
.pickup-program-list-item__title {
	margin-bottom: 15px;
}
.section--pickup-ranking .article-list--ranking {
	flex-direction: column;
}
.section--pickup-ranking .article-list--ranking .article-list-item {
	width: auto;
}
.section--pickup-ranking .ranking-post__heading {
	margin-bottom: 30px;
}


/*-----------------------------
	絞り込み/ソート filter 
------------------------------*/
.radio-box-wrap--5col {
	justify-content: space-between;
}
.radio-box-wrap--5col .radio-box {
	width: 49%;
	margin-right: 0;
	margin-bottom: 2%;
}
.select-btn {
	width: 49%;
	max-width: 168px;
}
.select-btn-wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.select-btn-wrap .select-btn {
	margin-right: 0;
}
.filter-box-agency {
	margin-bottom: 40px;
}

/*-----------------------------
	フォーム form 
------------------------------*/
.matrix-table th:first-child,
.matrix-table tr:nth-child(1) th:first-child {
	min-width: 150px;
	white-space: normal;
}


.home-search {
	display: none;
}
