@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* 251216_yuki_フォントサイズ調整 */
/*html{
	font-size: 62.5%;
}*/

/* 子テーマの style.css か［外観 › 追加 CSS］の最終行にコピペ */
:root{
  /* 1vw = ビューポート幅 × 1% なので
     100vw ÷ 144 ＝ 0.694444…vw と同義                       */
  --vw: 100vw;                               /* なくても OK。可読性用 */
  --swl-fz--root: calc(var(--vw) / 144);     /* = 0.694444vw */
}

/* ────────────────────────────────────────────
   モバイル基準（幅 767px 以下は 750px デザイン幅を採用）
   750px で 1rem = 10px → 式 = 100vw ÷ 75
   ────────────────────────────────────────────*/
@media (max-width: 600px){
  :root{
    --swl-fz--root: calc(100vw / 75);
  }
}

/* テーマパネルがあとから上書きする場合は !important を付ける */
html{ font-size: var(--swl-fz--root) !important; }

/* フォントサイズ調整ここまで */

/* タブレットブレイクポイントサイズ変更 */
@media not all and (min-width: 960px){
	.sp-box{
		display: none!important;
	}
}

@media not all and (min-width: 600px) {
    .pc-box {
        display: none !important;
    }
	.sp-box{
		display: block!important;
	}
}
/* タブレットブレイクポイントここまで */



/* 251216_yuki_全体背景色変更 */
/*#body_wrap{
	background: #0A0C0F;
	color: #fff;
}*/
/* 全体背景色変更ここまで */



/* 251216_yuki_ヘッダー */
.l-header{
	border-color: #272c35!important;
}

.c-gnav>.menu-item>a .ttl,.sub-menu,.sub-menu li,.c-gnav .sub-menu .ttl,.btn_login{
	font-size: 14px;
	font-weight: 600;
}

.-series-right .c-gnavWrap{
	margin: 0 auto;
}

.c-gnav>.menu-item>a{
	padding: 0 32px;
}

.c-gnav>.menu-item>a:hover,.c-gnav>.menu-item>a:hover .ttl::after,.c-gnav .sub-menu a:hover{
	color: #e0bf52!important;
}

.btn_login a,.btn_lgin-sp a{
	padding: 12px 32px;
	border-radius: 6px!important;
	border-width: 1.6px;
}

.btn_lgin-sp span{
	color: #fff;
	font-weight: 600;
}

.c-gnav>.menu-item>a .ttl::after{
	content: '';
	width: 6px;
	height: 6px;
	border: 0;
	border-bottom: solid 2px #fff;
	border-right: solid 2px #fff;
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	right: -1.2rem;
	bottom: 0;
	margin: auto;
}

.c-gnav>.menu-item>.sub-menu{
	left: 110%;
	background: #0A0C0F;
	border: 1px solid #272c35;
	color: #fafafa;
	border-radius: .6rem;
}

.c-gnav .sub-menu .sub-menu{
	background: #0A0C0F;
	border: 1px solid #272c35;
	color: #fafafa;
	border-radius: .6rem;
}

.c-gnav .sub-menu a{
	padding-top: 16px;
	padding-bottom: 16px;
}

/*.c-gnav .sub-menu a:before{
	display: none;
}*/

.c-gnav a::after{
	background: transparent;
}

.menu-item.menu-item-type-custom.menu-item-object-custom.menu-item-52 a::after{
	content: 'NEW';
	background: #e0bf52;
	color: #000;
	border-radius: 4px;
	margin-left: 6px;
	padding: 0px 6px;
}

/* ヘッダーここまで */


/* 251216_yuki_ハンバーガー */
/* ===================
ハンバーガーメニュー
====================== */
/* メニューアイコン（デフォルト時） */
.-menuBtn .c-iconBtn__icon {
	width: 24px;
	height: 2px;
	background-color: #fafafa;
	display: grid;
	place-items: center;
	transition: transform .3s;
	
	&::before,
	&::after {
		grid-area: 1 / 1;
		content: '';
		display: block;
		inset: 0;
		width: 24px;
		height: 2px;
		background-color: #fafafa;
		transition: transform .3s;
	}
	
	&::before {
		transform: translateY(-8px);
	}
	
	&::after {
		transform: translateY(8px);
	}
}

/* メニューアイコン（オープン時） */
[data-spmenu=opened] {
	
	.-menuBtn .c-iconBtn__icon::before {
			transform: rotate(45deg);
	}
	
	.-menuBtn .c-iconBtn__icon {
		background-color: transparent;
	}
	
	.-menuBtn .c-iconBtn__icon::after {
		transform: rotate(-45deg);
	}
}

/* ボタンラベル */
.l-header__menuBtn .c-iconBtn::after,
.p-spMenu__closeBtn .c-iconBtn::after {
	font-size: 10px;
	line-height: 10px;
	transform: translateY(12px);
}

/* ボタンラベル（開くボタン） */
.l-header__menuBtn .c-iconBtn::after {
/* 	content: 'MENU'; */
}

/* ボタンラベル（閉じるボタン） */
.p-spMenu__closeBtn .c-iconBtn::after {
/* 	content: 'CLOSE'; */
}

/* メニュー */
.p-spMenu__inner {
  width: 100%;
  height: 100%;
  transform: translateX(0)!important;
  opacity: 0;
  transition: opacity .5s ease-out!important;
}

/* メニュー（オープン時） */
[data-spmenu="opened"] .p-spMenu__inner {
  opacity: 1;
}

/* 背景色をぼかす */
.p-spMenu__inner::before {
	background: #0a0c0f;
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
}

/* メニューをフェードイン */
.p-spMenu__body {
	opacity: 0;
	transform: translateX(100%);
}

[data-spmenu="opened"] .p-spMenu__body {
	opacity: 1;
	transform: translateY(0);
	transition: opacity 1s ease-in, transform .7s ease-out;
	padding: 4.8rem;
}

/* 既存のメニューを削除 */
.c-widget__title.-spmenu,
.p-spMenu__nav {
  display:none;
}

.hb_box{
	font-size: 3.2rem;
	color: #fff;
	background: #0a0c0f;
}

.hb_title>.swell-block-accordion__title{
	background: #0a0c0f;
	font-size: 18px;
	padding-left: 0;
	padding-right: 0;
	padding: 2.4rem 0
}

.hb_title a{
	text-decoration: none;
}

.hb_title .swell-block-accordion__body{
	background: #111317;
	font-size: 16px;
	padding: 4rem;
}

.btn_login-sp{
	border-color: #272c35;
}

.hb_subtitle{
	color: #a6a6a6;
}

.hb_title .swell-block-accordion__body p{
	margin-bottom: 2rem;
} 

.hb_btn-box{
	/*position: fixed;
	margin-left: -24px;
	width: 100%;
	height: auto;
	bottom: 0;*/
	padding: 4.8rem 0;
	background: #0a0c0f;
	border-top: 1px solid #272c35;
}

.hb_after::after{
	content: 'NEW';
	background: #e0bf52;
	color: #000;
	border-radius: 4px;
	margin-left: 6px;
	padding: 0px 6px;
	font-size: 14px;
}

.btn_lgin-sp a{
	border-color: #272c35;
}

@media(max-width: 900px){
	.btn_login a,.btn_lgin-sp a{
		font-size: 14px;
		display: block;
		padding: 2.4rem 0;
		border-width: 2px;
	}
}
/* ハンバーガーメニューここまで */



/* 251216_yuki_パンくず */
/*#breadcrumb{
	background: #0F1116;
}*/

.p-breadcrumb__list {
    flex-wrap: wrap; //記事名が長い場合は折り返す
}

.single .p-breadcrumb__item:last-child>span.p-breadcrumb__text {
    display: block!important; //記事名の表示
    opacity: 1; //記事名を半透明にしない
    white-space: pre-wrap;//記事名が長い場合は折り返す
}

/* パンくずここまで */



/* 251216_yuki_トップページ */
/*.page-id-27 .l-mainContent__inner{
	background: #0a0c0f;
	color: #fafafa;
	padding: 0;
}*/

.page-id-27 .l-content.l-container{
	margin-bottom: 8rem;
}

.top_title{
	font-size: 32px;
	margin-bottom: 1.6rem!important;
}

.top_title-en{
	font-size: 18px;
	color: #e0bf52;
	line-height: 0.8;
}

.top_box,.top_person{
	/*background: #111318cc;
	border: 1px solid #272c35;
	padding: 4.4rem 4rem;*/
	border-radius: 8px;
}

/*.top_person{
	box-shadow: 0 0 40px #e0bf5233;
}*/

.btn_more a{
	padding: 10px 32ox;
	border-radius: 6px;
	border-width: 2px;
}

.top_new-article ul{
	display: flex;
	flex-wrap: wrap;
}

.top_new-article ul>li{
	width: 50%;
}

.top_person-img{
	display: flex;
	justify-content: center;
	align-items: center;
	background: #0A0C0F;
    border-radius: 6px;
}

.top_oparater-img img{
	width: 300px;
	height: auto;
}

.top_person-text{
	width: 46%;
    margin-left: 24px;
}

@media(max-width: 600px){
	.top_title{
		font-size: 20px;
	}
	.top-recommend,.top-operater{
		margin-bottom: 0!important;
	}
	.title-category{
		margin-bottom: 2rem!important;
	}
	.top_title-en{
		font-size: 14px;
		line-height: 1;
	}
	.btn_more span{
		font-size: 14px;
	}
	.top_person-text p{
		font-size: 14px;
	}
	.top_operater_gp{
		margin-top: 24px!important;
	}
	.top_operater_gp>.swell-block-columns__inner{
		gap: 32px;	
	}
	.top_oparater-img figure{
		padding: 60px;
	}
	.top_oparater-img img{
		width: 180px;
		height: auto;
	}
}

/* トップページここまで */



/* 251216_yuki_投稿ページ */
.l-mainContent__inner{
	/*background: #fafafa;*/
	color: #333;
	border-radius: 8px;
	/*padding: 3.2rem;*/
}

/* 投稿ページここまで */


/* 251222_yuki_フッター直前 */
.before_footer ul{
	justify-content: center;
	color: #bbb;
}

.before_footer-link span{
	font-size: 14px;
	border-right: 1px solid #bbb;
	padding-right: 10px;
}

.before_footer-link li:nth-of-type(1) span{
	border-left: 1px solid #bbb;
	padding-left: 10px;
}

.before_footer-link li a:hover{
	text-decoration: none!important;
}

.before_footer-sp ul{
	justify-content: center;
	padding-top: 20px;
}

.before_footer-link-sp span{
	font-size: 12px;
	color: #bbb;
	padding: 4px;
}


/* 251216_yuki_フッター */
.l-footer__widgetArea{
	padding-top: 9.6rem;
	border-top: 1px solid #272c35;
}

.footer_link{
	margin-bottom: 3.2rem;
}

.footer_icon{
	font-size: 16px;
	color: #a6a6a6;
}

.footer_main{
	font-size: 16px;
}

.footer_sub,.footer_gray{
	font-size: 14px;
	color: #a6a6a6;
}

.footer_sub a{
	text-decoration: none;
}

.footer_sub a:hover,.footer_info-link span:hover{
	color: #e0bf52!important;
}

.flex_right{
	margin-left: 3.2rem;
}

.footer_exp{
	padding-top: 3.2rem;
	border-top: 1px solid #272c35;
}

.flex_right>.swell-block-columns__inner{
	flex-wrap: nowrap;
	gap: 2rem;
}

.flex_exp-title,.flex_exp-text{
	font-size: 12px;
}

.footer_info{
	border-top: 1px solid #272c35;
	padding-top: 24px;
	margin-top: 32px;
	font-size: 14px;
}

.footer_info-link{
	width: 70%;
	margin-left: auto;
	margin-right: 0;
	gap: 24px;
}

.footer_info-link a{
	text-decoration: none;
}

@media(max-width: 600px){
	.flex_exp-title,.flex_exp-text{
		font-size: 2.4rem;
	}
	.footer_exp .swell-block-columns__inner{
		gap: 4.8rem;
	}
	.footer_left{
		margin-bottom: 20px!important;
	}
	.footer_left figure{
		text-align: left;
		margin-bottom: 16px!important;
	}
	.footer_left img{
		height: 24px;
		width: auto;
	}
	.footer_gray{
		font-size: 14px;
	}
	.footer_icon{
		font-size: 18px;
	}
	.footer_exp{
		margin-top: 32px!important;
	}
	.hb_title.footer_link .swell-block-accordion__body{
		background: #0A0C0F;
		padding: 0;
	}
	.hb_title.footer_link .swell-block-accordion__body p{
		font-size: 14px;
		color: #a6a6a6;
		margin-bottom: 6px;
	}
	.hb_title.footer_link .swell-block-accordion__body a{
		text-decoration: none;
	}
	.hb_title.footer_link span{
		font-size: 16px!important;
	}
	.footer_info-link{
		font-size: 12px;
		margin: 0 !important;
		width: 100%;
		flex-wrap: nowrap!important;
	}
}